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

回答編集履歴

1

名前からスレッドを探す

2016/01/14 14:49

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -6,4 +6,21 @@
6
6
  ```
7
7
  ただし、この条件分岐であなたの示すelseのコードは実行できません。
8
8
  なぜなら、**Threadは使いきり**だからです。
9
- 一度終了したThreadを使いまわそうとすると例外が発生します。
9
+ 一度終了したThreadを使いまわそうとすると例外が発生します。
10
+
11
+ ---
12
+
13
+ そういうことだとしたら、Threadをリスト化するという方法になるのでしょうか?
14
+ 仕様を考えると、Mapが適しているかもしれません。
15
+ ```java
16
+ Map<String, Thread> threads = new HashMap<String, Thread>();
17
+
18
+ //スレッドを起動したあと、起動したスレッドをマップに入れ込む
19
+ threads.put("name", th1);
20
+
21
+ //当該名前のスレッドが実行中かどうか
22
+ Thread target = threads.get("name");
23
+ if(target != null && target.isAlive){
24
+ //処理
25
+ }
26
+ ```