在子流程正常工作时做什么?

时间:2019-06-06 13:43:14

标签: python multithreading multiprocessing

在加入子进程时键盘中断的情况下,是否可以在主进程中执行类似打印内容或将管理器字典转换为本地字典的方法:

类似的东西:

def joinProcesses(self,processes):
    for p in processes:
        p.join()
        print('Evaluation Process finished')

while self.joinProcesses(processes):
    time.sleep(2)
    print('test')
    self.fixedResults = pd.DataFrame.from_dict(self.results)

我想在键盘中断的情况下定期将更新的结果保存在本地字典中的manager dict中。此外,我想打印子进程运行时的评估性能

我认为此示例不起作用,因为它要等到所有子流程完成

1 个答案:

答案 0 :(得分:2)

联接是您等待完成过程的方式。只需执行 调用join之前的任何操作即可。

# start processes
self.fixedResults = pd.DataFrame.from_dict(self.results)
for p in processes:
    p.join()