2024-04-26 12:12:29 发布
网友
一号文件斯拉维.py在
def sam(): while True: print "HI"
主程序/文件试用版.py在
我希望打印“Hi”停止一旦我的主线结束,但它继续打印Hi。我试过使用x.setDaemon(True)和x.Daemon=True,但它不起作用。我知道以前有人问过这样的问题,但我无法找到解决办法
-----o/p-------
>>> >>>Hi Hi Hi Hi Hi Hi Hi
它继续打印嗨
在测试.py公司名称:
from threading import Thread import sravi x=Thread(target=sravi.sam) x.daemon=True x.start()
在斯拉维.py公司名称:
当您运行python test.py时,在退出之前可能会打印出任意数量的“Hi”行。这只是因为执行线程的确切交织是未定义的。不能保证你只得到一个“嗨”。在
python test.py
当x.setDaemon(True)时,线程x在主线程结束时终止。 要证明这一点,请使用以下代码:
from threading import Thread def sam(): while True: print "HI" x=Thread(target=sam) x.setDaemon(True) x.start() time.sleep(2)
您将看到,两秒钟后,sam函数将停止打印“hi”。在
import time def sam(event): while event.is_set(): print "hi"
子线程在主线程结束后停止执行
在测试.py公司名称:
在斯拉维.py公司名称:
^{pr2}$当您运行
python test.py
时,在退出之前可能会打印出任意数量的“Hi”行。这只是因为执行线程的确切交织是未定义的。不能保证你只得到一个“嗨”。在当x.setDaemon(True)时,线程x在主线程结束时终止。
要证明这一点,请使用以下代码:
您将看到,两秒钟后,sam函数将停止打印“hi”。在
一号文件斯拉维.py在
主程序/文件试用版.py在
^{pr2}$子线程在主线程结束后停止执行
相关问题 更多 >
编程相关推荐