スレッド名はスレッドクラスをインスタンス化する時に自動的に生成されます。
しかし、プログラムでスレッド名を設定することもできます。
スレッドに対してスレッド名を設定するには
setName() メソッドを使用します。
以下はスレッドクラスです。
public class MyThread extends Thread{
public void run(){
for (int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName());
}
}
}
以下はスレッド名設定していないスレッドと、スレッド名を
setName() メソッドで設定している例です。
public class TEST {
public static void main(String[] args){
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.setName("スレッド2");
thread2.start();
}
}
上記、Javaアプリケーションを実行すると結果は以下のようになります。
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
スレッド2
Thread-0
スレッド2
スレッド2
スレッド2
スレッド2
スレッド2
スレッド2
スレッド2
スレッド2
スレッド2