0
以下は、この問題を示すコードです。これは一例に過ぎないことに注意してください。もっと複雑なアプリケーションで同じロジックを使用していますが、スリープを時間として使用することはできません。プロセス1では変数を変更するために時間がかかります。インターネット接続。あるスレッドで変数を変更して別のスレッドで変数をチェックする方法は?
from multiprocessing import Process
code = False
def func():
global code
code = True
pro = Process(target=func)
pro.start()
while code == False:
pass
pro.terminate()
pro.join()
print('Done!')
これを実行すると、何も表示されません。プログラムを終了すると、CTRL-Cを押すと、スタックトレースはwhileループが実行されていることを示します。
プロセスはスレッドではありません。そのプロセスは、独自の独立したグローバル変数を設定しています。 'multiprocessing'プロセス間でやりとりしたい場合は、' multiprocessing'ツールが提供しているドキュメントを使用してください。 – user2357112
@ user2357112この質問は、[Pythonのマルチプロセッシングの共有変数](http://stackoverflow.com/questions/17377426/shared-variable-in-pythons-multiprocessing)の重複としてマークできますか?私は第二の意見が必要です –
@ user2357112サンプルコードをお願いしますか? –