gpt4 book ai didi

python - 如何停止线程python

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:38 26 4
gpt4 key购买 nike

大家好

我试图在程序停止时停止此线程(例如当我按 ctrl+C 时)但没有成功。我试过 put t1.daemon=True 但是当我这样做时,我的程序在我启动后就结束了。请帮我阻止它。

def run():
t1 = threading.Thread(target=aStream).start()

if __name__=='__main__':
run()

最佳答案

做你想做的事情的一种常见方法是加入线程一段时间,如下所示:

def main():
t = threading.Thread(target=func)
t.daemon = True
t.start()
try:
while True:
t.join(1)
except KeyboardInterrupt:
print "^C is caught, exiting"

在超时循环中执行此操作很重要(不是永久 join()),因为信号仅由主线程捕获,因此如果主线程被阻塞,它将永远不会结束.

另一种方法是设置一些事件让非守护线程知道何时完成,看起来更让我头疼。

关于python - 如何停止线程python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16238396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com