一个线程结束的问题,求帮忙
if__name__ == '__main__':
main()
t=threading.Thread(target=start_dump)
t.daemon=True
t.start()
t1=threading.Thread(target=start_replay)
t1.daemon=True
t1.start()
t1.join()
t.join(10)
如上,线程t会创建一个文件并不断向文件里添加信息,但是现在这个线程停止不了,该怎么办?如何让它一定时间后像crtl+c一样终止?
[解决办法]
一般写线程最好能让它自已结束自己,比如,在线程里写多处判断是否该结束的flag,然后return即可。
如果你想要的是timeout,如你写的join(10),但它会阻塞当前线程的执行。
也许,这个链接你可以看看有没有用http://stackoverflow.com/questions/366682/how-to-limit-execution-time-of-a-function-call-in-python