質問
並行処理をしたくて調べていたところ、multiprocessingが使えるということで
初学ながらに学習しているのですが、簡単なコードでテストしてみると、最後まで実行されず途中で終了させられてしまいます。
この問題をネットで色々検索してみたはいるものの、有力な情報が得られず解決に至らないため質問させていただきました。
この問題の原因は何なのでしょうか?
該当のソースコード
python
1import time 2import multiprocessing 3 4def roop1(_name): 5 print('start roop1') 6 for i in range(0, 10): 7 print(f'{_name} = {i}') 8 time.sleep(1) 9 10 print('end roop1') 11 12 13def roop2(_name): 14 print('start roop2') 15 for i in range(10,20): 16 print(f'{_name} = {i}') 17 time.sleep(1) 18 19 print('end roop2') 20 21if __name__ == '__main__': 22 r1 = multiprocessing.Process(name="r1", target=roop1, args=('i',)) 23 r2 = multiprocessing.Process(name='r2', target=roop2, args=('t',)) 24 25 r1.start() 26 r2.start()
発生している問題
start loop1 i = 0 start loop2 t = 10 i = 1 t = 11 i = 2 t = 12 i = 3 t = 13 i = 4 t = 14 ← ここで止まる (test) PS D:\vscode\test>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/01 06:51