如果python线程的功能完成了,会发生什么



我正在使用python线程,但我找不到停止它的方法。

以下是我如何使用线程:

class MyThread(Thread):
def __init__(self, func, args=()):
Thread.__init__(self)
self.__return_value = None
self.func = func
self.args = args
self.func_name = func.__name__
def run(self):
self.__return_value = self.func(*self.args)

考虑到没有明确的方法来阻止它,我试图在它完成要执行的函数时忽略它。如果我什么都不做,僵尸线程会留下吗?

否-线程在自身之后打包并干净地关闭。

毕竟,这就是Python中的工作方式。

import threading
import time
def worker():
time.sleep(1)
def main():
print (threading.active_count())
t = threading.Thread(target=worker)
t.start()
print(threading.active_count())
time.sleep(2)
print(threading.active_count())
return t
main()
t = main()
t.is_alive()

在ipython中运行这个片段(一个交互式提示,它将一些线程用于自己的目的(将打印

4
5
4
False

最新更新