マルチプロセスなので当たり前なんだけど、Pythonのmultiprocessing.Poolを使って複数プロセスで並列処理をする時にGlobal変数はそれぞれのプロセスにコピーされる。
なので、以下の例だとmy_funcの中でGlobal変数を変更しても他のプロセスには影響しない。
pool = ProcessingPool(nodes=nodes)
pool.map(lambda x: my_func(x[0], x[1]), candidates)
参考:
マルチプロセスなので当たり前なんだけど、Pythonのmultiprocessing.Poolを使って複数プロセスで並列処理をする時にGlobal変数はそれぞれのプロセスにコピーされる。
なので、以下の例だとmy_funcの中でGlobal変数を変更しても他のプロセスには影響しない。
pool = ProcessingPool(nodes=nodes)
pool.map(lambda x: my_func(x[0], x[1]), candidates)
参考: