我正在使用python 3.6尝试构建一组子线程,这些子线程在父亲去世时死亡,而父亲不是主线程。
这里是我的问题:
当我从中解雇它们的函数结束时,我需要杀死一组线程。 目前,我是通过使用daemon = True启动所有进程来完成此操作的,当我完成主线程后,所有子进程都会死亡。 但是现在我需要从辅助线程获得该功能。也就是说,所有子级都在辅助线程结束时死亡。 需要它进行手动编码。没有标志或类似的东西,因为函数已经写入。 我尝试使用ThreadPoolExecutor,但没有实现任何效果:(
这是一个小例子:
非常感谢!!!
import time
import threading
class FooHilo:
def print_while(self):
a = 0
while True:
print('im still alive')
time.sleep(1)
def main_control(self):
t = threading.Thread(target=self.print_while)
t.daemon = True
t.start()
b = 0
while b < 5:
b += 1
print(b)
time.sleep(1)
print('Exit... wishing that the thread print_while also end... ')
def start(self):
t = threading.Thread(target=self.main_control)
t.daemon = False
t.start()
foo = FooHilo()
foo.start()
while True:
a = input('Input anything:')
break
print('END...')