javaでは、スレッドには名前があります。
このスレッド名を取得するには以下のように
getName()メソッドを使用します。
これに対し、現在実行中のスレッド名を取得するには
Thread.currentThread().getName() を使用します。
以下、例です。
public class MyThread extends Thread{
public void run(){
for (int i=0;i<10;i++){
System.out.println(Thread.currentThread().getName());
}
}
}
そして、このMyThreadクラスをインスタンス化して
start() メソッドを呼び出します。
以下を見てください。
public class TEST {
public static void main(String[] args){
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
}
}
この実行結果は以下のようになります。
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-0
Thread-1
Thread-0
Thread-1
Thread-0
Thread-1
Thread-1
Thread-1
Thread-1
Thread-1
Thread-1
Thread-1
Thread-1
スレッド名はそれぞれ
Thread-0 と
Thread-1 であることがわかります。
また、別々のスレッドでスレッド名の出力を行っていることがわかります。