线程计时器()和实例的销毁

2024-03-28 15:07:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在交互式python中,我做了以下实验:

import threading

def hello():
    print "Hello World!"

def greeting():
    t = threading.Timer(5, hello)
    t.start()

greeting()
"Hello World!"  # After 5s delay.

我很惊讶,问候语是迟迟才印出来的。我原以为离开作用域会破坏计时器实例,但python的垃圾收集器将承担这个角色是有意义的?你知道吗

出于我的需要,上述实验中的行为正是我所需要的,但我认为它不能保证总是有效的。还是会一直如图所示?你知道吗

谢谢。你知道吗


Tags: importhelloworlddef作用域startgreeting计时器
1条回答
网友
1楼 · 发布于 2024-03-28 15:07:06

可以肯定的是,计时器仍然存在。你知道吗

Timer是从Thread派生出来的,在Python中运行的线程不会因为不再存在对thread对象的引用而被终止(当然,Python解释器本身总是存在引用)。你知道吗

相关问题 更多 >