public class GetCurrentThread implements Runnable {
Thread th;
public GetCurrentThread(String threadName) {
th = new Thread(this,threadName); //<----DOUBT
System.out.println("get threadname "+th.getName());
th.start();
}
public void run() {
System.out.println(th.getName()+" is starting.....");
System.out.println("Current thread name : " + Thread.currentThread().getName());
}
public static void main(String args[]) {
System.out.println("Current thread name : " + Thread.currentThread().getName());
new GetCurrentThread("1st Thread");
//new GetCurrentThread("2nd Thread");
}
}
上記のコードの2行目が何をしているのか誰かが説明できますか?「th=new Thread(this、threadName)」についての私の理解は、与えられた名前でスレッドオブジェクトを作成するということです。名前を「1stThread」としましょう。ここで「this」キーワードは何をしているのでしょうか。これを削除してスレッドの名前を取得しようとすると、問題なく名前が取得されましたが、run()が開始されませんでした。誰かが説明できますか一行の答えではなく、簡単な言葉で。みんなの助けに本当に感謝しています。