线程守护程序= True,但是使用启动器线程作为主线程?

时间:2019-05-06 17:12:37

标签: python multithreading

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

0 个答案:

没有答案