gpt4 book ai didi

python - 如果不调用 thread.stop() 或 thread.join() 方法,python 中的线程何时死亡?

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:30 25 4
gpt4 key购买 nike

这是一段代码:

def display():
threading.Timer(1,display).start()
print("Number")
display()

对于这段代码,我想问以下问题:

  1. 每隔一秒就会产生一个新线程,对吗?
  2. 每一秒都有最后一个线程死掉,因为函数完全执行,所以旧线程死掉,对吗?如果不是那么发生了什么?

最佳答案

  1. Timer 派生自 Thread,所以是的:启动了许多线程。
  2. 无论您是否调用 join,当它们被调用的函数返回(或抛出)时,线程都会死亡,但是为它们保留的资源可能会也可能不会被回收,直到您这样做。 (请注意,线程是常见垃圾回收方案的根源,因此依赖于删除对 Thread 对象的引用是不明智的。)

关于python - 如果不调用 thread.stop() 或 thread.join() 方法,python 中的线程何时死亡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53916471/

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