来自__main__以外的模块的Python多处理

时间:2018-10-15 15:22:43

标签: python multiprocessing

我正在编写一个Python函数,该函数对大量对象执行相同的任务。自然,我想并行执行它。我以前使用过multiprocessing很多次,而且我知道主模块必须有这样的防护装置:

if __name__ == '__main__':
    # some code to run in parent process only

区别在于,现在我的函数位于与__main__不同的模块中,并且我将无法控制谁调用它以及在什么上下文中调用它。因此,我看到了一些问题。

(A)使我的函数的调用者担心将防护放在主模块中(放在正确的位置)似乎有点不礼貌。

(B)我本人打算使用该功能的最常见方法是从Jupyter笔记本中进行。我什至不知道每次产生新进程时都会重新运行什么代码。是整个笔记本吗?以什么顺序?

是的,我在Windows上执行此操作,因此将产生而不是分叉的新进程。

是否有更好的方法来并行化该函数而不必担心所有这些?

0 个答案:

没有答案