0

私はPythonが初めてで、親スクリプトの共有変数の値の変更がすぐに子スクリプトに「同期」されるように、2つのスクリプト間で共有変数を定義しようとするとストックされました。

例えば:

  1. 2 秒ごとに、Parent.py値 1 から 3 を共有変数 A に1 つずつ入力します。
  2. Child.pyA の値の変化を待ち続け、それらを出力します。

したがって、次のようなものを取得する必要があります。

1

...(2 seconds past)

2

...(2 seconds past)

3

それはほんの一例です。私の実際のスクリプトはより複雑で、同時に実行する必要があるため、使用することを考えていますが、どちらを選択してスクリプトに追加するmultiprocessing.pipemultiprocessing.queue はわかりません。誰かが私を助けてくれれば、私は大歓迎です:)

ありがとう!

4

1 に答える 1

0

を使用しmultiprocessing.Manager().Queue()ます。親がキューにプッシュし、子がポップします。multiprocessing.Queue があるため、Manager は不要な中間ステップのように見えますが、実装ははるかに単純で、デッドロックやその他のバグが発生しにくくなっています。

http://docs.python.org/library/multiprocessing.html#multiprocessing.managers.SyncManager.Queue

于 2012-10-04T16:43:49.473 に答える