currentThread()方法
currentThread()方法可返回代码段正在被哪个线程调用的信息。
下面通过一个测试代码进行说明:
package test;
/**
* @Author LiBinquan
*/
public class Run {
public static void main(String[] args) {
System.out.println(Thread.currentThread().getName());
}
}
输出结果:
结果说明,main方法被名为main的线程调用
测试代码2:
package test;
/**
* @Author LiBinquan
*/
public class ThreadTest extends Thread{
public ThreadTest() {
System.out.println("构造方法的打印:"+Thread.currentThread().getName());
}
@Override
public void run() {
System.out.println("run方法的打印:"+Thread.currentThread().getName());
}
}
运行类:
package test;
/**
* @Author LiBinquan
*/
public class test {
public static void main(String[] args) {
ThreadTest threadTest = new ThreadTest();
threadTest.start();
}
}
运行结果:
从运行结果中我们可以得出,ThreadTest.java类的构造函数是被main线程调用的,而run方法是自动调用的方法。
如果将运行类改为:
package test;
/**
* @Author LiBinquan
*/
public class test {
public static void main(String[] args) {
ThreadTest threadTest = new ThreadTest();
threadTest.run();
}
}
运行结果:
再复杂一点如下:
package test;
/**
* @Author LiBinquan
*/
public class CountOperate extends Thread{
public CountOperate(){
System.out.println("CountOperate-----开始");
System.out.println("Thread.currentThread().getName() = "+Thread.currentThread().getName());
System.out.println("this.getName()= "+this.getName