私はPythonマルチプロセッシングモジュールを調べていますが、次のコードが何も印刷しない理由を理解していません。 whileループがなければ、プログラムはWorker_1を期待どおりに出力します。予想通り、この作品Pythonマルチプロセッシング:ワーカー関数でwhileループを出力しない
私のシステム(Linux上のPython 2.6 & 2.7)でimport multiprocessing, time
def worker1():
print 'Worker_1'
while 1:
print 'Worker_1'
time.sleep(3)
return
if __name__ == '__main__':
jobs = []
p = multiprocessing.Process(target=worker1)
jobs.append(p)
p.start()
私はマルチプロセッシングモジュールのマスターではありません。今はテストできませんが、 'p.join()'を 'p.start()'の後ろに追加してみてください。サブプロセスの開始後にメインプログラムが終了した場合、サブプロセスは続行されますか?私はそうは思わないが、私は知らない。これは、あなたが望むときに労働者を止めるためにいくつかの嫌悪感を持たなければならないことに注意してください。代わりに、おそらくフォークモジュールを見てください。 –