首页 > 解决方案 > Stackoverflow:具有额外 IF 条件的多处理?

问题描述

我的代码是

from some_module import foo, tasks, condition
import multiprocessing

def parallel():
    pool = multiprocessing.Pool()
    pool.map(foo, tasks)
    pool.close()
    pool.join()

if __name__ == '__main__' and condition:
    parallel()

我的问题是,这段代码的流程是什么?据我了解,第一次,它进入 if 块,然后进入并行,在那里它创建一个池,一旦我调用.map,它会创建新的子进程,这些子进程将......做什么,究竟是什么?他们会运行整个脚本吗?我知道这意味着它不会进入 if 块,但如果是这样的话,它怎么知道该怎么做?只有 if 块告诉它运行一个函数......

标签: pythonmultiprocessing

解决方案


推荐阅读