如何在多处理环境中共享配置?

时间:2019-06-14 00:50:18

标签: python

尽管更改Main中的config.x,两次runMP的输出都将为0。我想要的是0,然后是1。

没有多处理,我得到0和1。

我认为原因是“分叉”都具有单独的配置副本,因此覆盖它是行不通的!不确定。

我该如何解决这个问题(我真的不想将配置对象从Main传递到其他功能的整个链中吗?)

#config.py
x = 0

# Main.py
import multiprocessing as mp
import config

if __name__ == '__main__':
    runMP()
    config.x = 1
    runMP()


# MP.py
import Main

def runMP():
# create pool, run async etc
# ....
    print Main.config.x

0 个答案:

没有答案