代码之家  ›  专栏  ›  技术社区  ›  myloginid

Python-Fork模块

  •  0
  • myloginid  · 技术社区  · 11 年前

    我的要求是做以下事情-

    def task_a():
    ...
    ...
    ret a1
    
    def task_b():
    ...
    ...
    ret b1
    
    .
    .
    
    def task_z():
    ...
    ...
    ret z1
    

    现在在我的主代码中,我希望并行执行Tasks.a.z,然后等待上面所有的返回值。。

    a = task_a()
    b = task_b()
    z = task_z()
    

    有没有一种方法可以在Python中并行调用上述模块?

    谢谢 曼尼什语

    1 回复  |  直到 11 年前
        1
  •  1
  •   Community Mohan Dere    9 年前

    参考: Python: How can I run python functions in parallel?

    导入:

    from multiprocessing import Process
    

    添加新功能:

    def runInParallel(*fns):
      proc = []
      for fn in fns:
        p = Process(target=fn)
        p.start()
        proc.append(p)
      for p in proc:
        p.join()
    

    将现有函数输入新函数:

    runInParallel(task_a, task_b, task_c...task_z)