回答編集履歴

2

コード内のコメント修正

2017/08/25 07:01

投稿

can110
can110

スコア38266

test CHANGED
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- th.join() # サブの終了を待ってメインを終了させる
43
+ th.join() # サブの終了を待ってメインを終了させる。すでにサブが死んでてもjoin()呼び出してもよい。
44
44
 
45
45
  ```
46
46
 

1

joinの利用例を追記

2017/08/25 07:01

投稿

can110
can110

スコア38266

test CHANGED
@@ -15,3 +15,33 @@
15
15
  print("マルチスレッドループ終了");
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ また「join()でメインスレッドをブロック」するコードは、先にメイン側が終了するようなケース、具体的には以下のようなコードではないかと思います。
22
+
23
+ この場合は、サブ側の終了を待ってメインを終了させます。
24
+
25
+
26
+
27
+ ```Python
28
+
29
+ while( True):
30
+
31
+ # メインの処理
32
+
33
+ # ...
34
+
35
+
36
+
37
+ if メインの終了条件:
38
+
39
+ break
40
+
41
+
42
+
43
+ th.join() # サブの終了を待ってメインを終了させる
44
+
45
+ ```
46
+
47
+