【发布时间】:2017-02-07 04:57:35
【问题描述】:
我正在寻找一种方法来让线程完成它们的工作,并且在 CTRL-C 被触发时不接受新的工作。 理论代码:
import threading
from Queue import Queue
q = Queue(maxsize=0)
def work(q):
print (line)
for line in file_of_100_line:
q.put(line)
nbThreads = 2
for i in range(nbThreads):
t = threading.Thread(target=work, args=(q))
t.setDaemon(True)
t.start()
如果出现键盘异常 (CTRL-C),让工作人员打印该行,当所有工作人员完成当前任务时,退出。
【问题讨论】:
标签: python multithreading exception keyboardinterrupt