Python多进程:基于父进程中的事件杀死子进程

2021-12-08 05:52:47 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下代码:

quit = Event()
while True:
    if something > max_size:
        quit.set()
        break 
    else:
        p1 = Process(target=B(argv).calc(value, quit), name="d")

其中B如下所示:

class B:
    def __init__(self, *args):
        self.argv = argv
    def calc(self, value, quit):
        while not quit.is_set():
             while True:
                 for c in value:
                      ##Do some logic....

我在B.calc的worker任务中要做的是,只要主进程没有设置quit事件,那么B().calc()函数就应该继续运行。B().calc()中的while循环是必需的,因为我正试图基于某些逻辑实现文件的滚动。所以,当quit事件由主进程设置时,我想杀死子进程

我该怎么做呢