1

これは私が持っていた別の質問からのものです。このエラーは PyDev でのみ発生することがわかりました。コマンド ラインまたは IDLE からコードを実行すると、適切な出力が生成されます。PyDev では、何も起こりません:

これは Python 3.2.2、Eclipse 3.7.2 用です。

from multiprocessing import Pipe, Process

def f(r):
    print(r.recv())

if __name__ == '__main__':
    q, r = Pipe()
    p = Process(target=f, args=(r,))
    p.start()
    q.send([42, None, 'hello'])
    p.join()

メイン スレッドは、新しい を作成しProcess、双方向接続オブジェクトを function にp送信します。プロセスが開始されると、メインプロセスが.rf()pr.recv()q.send

次に、コースが実行さp.join()れるまでメインプロセスを待機させる必要があります。p

しかし、何も起こりません。printにステートメントを追加しても、何も実行されず、機能しないf()かのように、そこでも何も起こりません。f()p.start()

これが PyDev で機能しない理由と、何が修正される可能性があるかを説明できますか?

4

0 に答える 0