Python 如何在多线程程序中实现超时?
我有以下示例代码:Python 如何在多线程程序中实现超时?,python,multithreading,timeout,Python,Multithreading,Timeout,我有以下示例代码: import threading from Queue import Queue q = Queue(maxsize=0) def work(q): #do a job 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(
import threading
from Queue import Queue
q = Queue(maxsize=0)
def work(q):
#do a job
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()
如果线程执行时间超过“x”秒,我想让线程结束。我如何使用多线程来实现这一点?谢谢
time.time()
和time.clock()
这两种方法都可以在多线程程序中使用。所以你可以像在常规程序中一样使用它们。顺便说一句,你的代码缩进是乱七八糟的。我正在尝试,但我的代码缩进不是乱七八糟的。也许只是因为你遗漏了语句,所以看起来是这样。。。