为了账号安全,请及时绑定邮箱和手机立即绑定

如果没有调用方法 thread.stop() 或 thread.join

如果没有调用方法 thread.stop() 或 thread.join

慕村225694 2021-09-24 15:39:50
下面是一段代码:def display():  threading.Timer(1,display).start()  print("Number")display()对于这段代码,我想问以下几点:每一秒都会产生一个新线程,对吗?每一秒最后一个线程都会死亡,因为函数完全执行,所以旧线程死亡,对吗?如果不是那么发生了什么?
查看完整描述

1 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

  1. Timer派生自Thread,所以是的:启动了许多线程。

  2. 无论您是否调用join,当它们被调用的函数返回(或抛出)时,线程都会死亡,但是在您这样做之前,为它们保留的资源可能会或可能不会被回收。(请注意,线程是常见垃圾收集方案的根源,因此依赖删除对Thread对象的引用是不明智的。)


查看完整回答
反对 回复 2021-09-24
  • 1 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信