マルチスレッド スクリプトを終了するために KeyboardInterrupt を調べた後、キーボードの上下キーを使用して、使用されているスレッドの数を増減できるかどうか疑問に思っていました。これは、いつでも発生できるように、KeyboardInterrupt と同じ方法で発生することを願っています。このようなことは可能ですか、またはこれにより適した別の方法はありますか?
def do_something(input_file, threads):
concurrent = threads
l = read_csv(input_file)
for i in range(concurrent):
t = Thread(target=create_accounts)
t.daemon = True
t.start()
try:
for account in l:
q.put(account)
q.join()
except KeyboardInterrupt:
sys.exit(1)
if __name__ == '__main__':
threads = 1
q = Queue(threads * 2)
do_something('test.csv', threads)