回答編集履歴

1

コード修正

2021/11/21 04:25

投稿

can110
can110

スコア38258

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  すなわちキューに要素が残っているのに`.join`しているためデッドロックが発生しています。
14
14
 
15
- よって以下のように`.join`に`.get`にて要素を取り出せばよいです。
15
+ よってたとえば以下のようにプロセス終了待ちあとに`.get`にて要素を取り出せばよいです。
16
16
 
17
17
  参考:[python multiprocessing .join() deadlock depends on worker function](https://stackoverflow.com/questions/45948463/python-multiprocessing-join-deadlock-depends-on-worker-function)
18
18
 
@@ -32,9 +32,13 @@
32
32
 
33
33
  p1.start()
34
34
 
35
+ while p1.is_alive():
36
+
37
+ pass
38
+
35
39
  print(test.get())
36
40
 
37
- p1.join()
41
+ #p1.join()
38
42
 
39
43
  #print(test.get())
40
44