尽管更改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