我尝试在python中使用多处理来计算一些繁重的工作。 我是多处理的初学者,虽然我只知道一些重要的类,如Lock,Process等。
问题可以简化为简单的时间演变:
for t in ts:
#common_datas would be numpy.ndarray
common_datas = time_evolution(common_datas)
#I want to parallel the following for-loop. (probably len=~100)
for each_data in common_datas:
each_data = do_some_heavy_works(each_data)
#end
#continue if all paralleled loop finish.
我认为这不是为每个t循环创建许多进程的好方法。 所以我会在t for-loop之前创建所有进程,并使主进程在时间演化之后与每个进程连接。
我的问题是
如何在父进程向其发送 each_data 之前保持子进程处于活动状态?
如何等到所有并行循环结束?
我想知道一个包含多处理类的算法。