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

2024-09-30 00:32:16 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我假设的原因是“forked”都有单独的配置副本,覆盖它不起作用!不确定

我如何解决这个问题(我真的不想把配置对象从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

Tags: 对象函数namepyimportconfigifmain

热门问题