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()
这两种方法都可以在多线程程序中使用。所以你可以像在常规程序中一样使用它们。顺便说一句,你的代码缩进是乱七八糟的。我正在尝试,但我的代码缩进不是乱七八糟的。也许只是因为你遗漏了语句,所以看起来是这样。。。