teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード修正

2021/11/21 04:25

投稿

8524ba23
8524ba23

スコア38352

answer CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  との記載のケースに該当しているようです。
7
7
  すなわちキューに要素が残っているのに`.join`しているためデッドロックが発生しています。
8
- よって以下のように`.join`に`.get`にて要素を取り出せばよいです。
8
+ よってたとえば以下のようにプロセス終了待ちあとに`.get`にて要素を取り出せばよいです。
9
9
  参考:[python multiprocessing .join() deadlock depends on worker function](https://stackoverflow.com/questions/45948463/python-multiprocessing-join-deadlock-depends-on-worker-function)
10
10
 
11
11
  ```Python
@@ -15,7 +15,9 @@
15
15
 
16
16
  p1 = Process(target = something, args = (test, 100000))
17
17
  p1.start()
18
+ while p1.is_alive():
19
+ pass
18
20
  print(test.get())
19
- p1.join()
21
+ #p1.join()
20
22
  #print(test.get())
21
23
  ```