currentThread().getName方法可以返回代码段正在被哪个线程调用的信息。而
this.getName()返回CountOperate这个对象自身线程的名字,默认为Thread-0
class CountOperate extends Thread{
public CountOperate(){
System.out.println("Constructor begin!");
System.out.println("Thread.currentThread().getName() = "
+ Thread.currentThread().getName());
System.out.println("this.getName() = " + this.getName());
System.out.println("Constructor end!");
System.out.println("-------------------------------------");
}
@Override
public void run() {
System.out.println("run begin!");
System.out.println("Thread.currentThread().getName() = "
+ Thread.currentThread().getName());
System.out.println("this.getName() = " + this.getName());
System.out.println("run end!");
}
}
public class Run {
public static void main(String[] args)
throws InterruptedException {
CountOperate c = new CountOperate();
Thread t1 = new Thread(c);
t1.setName("A");
t1.start();
}
}
运行结果:
Constructor begin!
Thread.currentThread().getName() = main
this.getName() = Thread-0
Constructor end!
--------------------------------------------
run begin!
Thread.currentThread().getName() = A
this.getName() = Thread-0
run end!