在子流程工作时执行某些操作?

问题描述 投票:0回答:1

有没有办法在主进程中执行诸如打印内容或将管理器字典转换为本地字典之类的操作,以防在加入子进程时发生键盘中断:

类似:

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)

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

我认为这个例子行不通,因为它会等到所有子进程完成

python multithreading multiprocessing
1个回答
2
投票

加入是您“等待”流程完成的方式。 在调用 join 之前做任何你想做的事。 # start processes self.fixedResults = pd.DataFrame.from_dict(self.results) for p in processes: p.join()

© www.soinside.com 2019 - 2024. All rights reserved.