Pythonのmultiprocessing.Processクラスの挙動について質問させてください。
Processオブジェクトを作成してstart()で呼び出すと、指定したメソッドが子プロセスで実行されます。このときに、子プロセスの中から、親プロセスのグローバル変数の状態が読み取り専用で参照できます。
マルチスレッドでは、メモリが共有されているので親の状態を参照することができるのは分かりますが、Processはマルチプロセスということなので、メモリ空間が親と子では分かれていると思うのですが、PythonのProcessではどのようにして子プロセスから親プロセスの状態が参照できているのでしょうか。
Python
1from multiprocessing import Process 2 3def func(): 4 global g 5 print "sub process: ", g 6 g = 200 7 8 9g = 100 10print "main before: ", g 11p = Process(target=func) 12p.start() 13p.join() 14print "main after: ", g

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/27 07:38
2015/11/27 09:50