因此,我在应用程序中有一些线程可以监视某个第 3 方端点上的临时可用文件。我希望他们在不超过一天的时间内完成他们的人生目标,然后终止。最好的方法是什么?
如果线程在某些功能上超时(如 TCP 挂起连接或其他东西),关于 S/O 有很多关于使线程终止的问题,但我的目标更多地集中在为线程提供独立于它执行的功能的生命周期。到目前为止,我快速演示了我的想法:
class Task(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.life = datetime.utcnow() + timedelta(seconds=60)
def run(self):
while True:
if datetime.utcnow() < self.life:
#do stuff that i do
print "hi"
time.sleep(5)
else:
break
t = Task()
t.start()
这很好用,但我是否在以愚蠢的方式思考这个问题?有没有更好的处理方法?