from threading import Thread, current_thread
def hello():
print("hello, world")
t = threading.Timer(3.0, hello)
t.start()
print current_thread().name
hello()
这将每3秒定期创建一个新线程。我想知道创建的线程是否过期,然后再次创建新线程。我可以看到线程名称为" Thread-1"," Thread-2"," Thread-3"等等。创建。我想知道" Thread-1"最终将退出,然后创建一个新的线程,即"线程-2"或者仍然是" Thread-1"会保持活跃。请帮助。
答案 0 :(得分:1)
您的主题完成后会退出。事实上,由于您的print命令是hello()中的最后一行,这意味着一旦线程显示其名称就会退出。您可以使用threading.enumerate()
显示所有正在运行的线程:
from threading import Thread, current_thread, Timer, enumerate
def hello():
print("hello, world")
t = Timer(3.0, hello)
t.start()
print enumerate()
print current_thread().name, "exiting"
hello()
唯一的例外是主线程,它不会退出但在程序退出之前一直处于停止状态,这在此代码中永远不会发生。所有其他线程完成他们的工作,然后退出。
这回答了你的问题吗?
哈努哈利