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");
}
}
有人可以解释上面代码的第二行在做什么吗?我对“th = new Thread(this,threadName)”的理解是,它将创建具有给定名称的线程对象;让我们说名称“第一个线程”。现在,“this”关键字在这里做什么?因为当我删除它并尝试获取线程的名称时,我得到的名称没有问题,但它从未开始运行()。有人可以解释一下简单来说,而不是单行答案。我真的很感谢大家的帮助。