14
我见过很多使用线程的Python脚本,其中很多脚本使用threading.Event()
。例如:事件对象的Python线程处理
class TimerClass(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.event = threading.Event()
def run(self):
while not self.event.is_set():
print "something"
self.event.wait(120)
在while
环,为什么他们选中状态,如果他们不设置self.event
?
在OP的例子中,self.event.wait(120)是否意味着它将等待120秒来重做循环,除非事件在120秒之前已经设置(),在此之前self.event。等待(120)将返回,基本上循环将不再打印而退出?如果事件永远不会被设置(),它只会打印“东西”的所有内容120秒? – gunit
@gunit它将每120秒打印一些“东西”,直到事件被设置。事件设置时,循环将退出。 –