我正在使用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