これは私が持っていた別の質問からのものです。このエラーは 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
送信します。プロセスが開始されると、メインプロセスが.r
f()
p
r.recv()
q.send
次に、コースが実行さp.join()
れるまでメインプロセスを待機させる必要があります。p
しかし、何も起こりません。print
にステートメントを追加しても、何も実行されず、機能しないf()
かのように、そこでも何も起こりません。f()
p.start()
これが PyDev で機能しない理由と、何が修正される可能性があるかを説明できますか?