在python中进行多处理的并行连接的良好设计

时间:2016-06-21 10:52:02

标签: python multiprocessing

我尝试在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之前创建所有进程,并使主进程在时间演化之后与每个进程连接。

我的问题是

  1. 如何在父进程向其发送 each_data 之前保持子进程处于活动状态?

  2. 如何等到所有并行循环结束?

  3. 我想知道一个包含多处理类的算法。

0 个答案:

没有答案