currentThread方法
代码CountOperate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package thread.currentThread;
public class CountOperate extends Thread{
public CountOperate(){
System.out.println("countOperate Thread.currentThread().getName()====" + Thread.currentThread().getName());
System.out.println("countOperate getName()=====" + this.getName());
}
@Override
public void run(){
System.out.println("run Thread.currentThread().getName()====" + Thread.currentThread().getName());
System.out.println("run getName()====" + this.getName());
}
}
代码CountOperateMain:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package thread.currentThread;
public class CountOperateMain {
public static void main(String[] args) {
CountOperate thread = new CountOperate();
thread.setName("countOperate");
//thread.start();
Thread mainThread = new Thread(thread);
mainThread.setName("mainThread");
mainThread.start();
}
}
运行CountOperateMain返回结果如下:
1
2
3
4
countOperate Thread.currentThread().getName()====main
countOperate getName()=====Thread-0
run Thread.currentThread().getName()====mainThread
run getName()====countOperate
解析: 1.Thread.currentThread().getName()获取的是当前调用这部分程序块的线程; 2.如构造函数是由Main的线程调用的; 3.如CountOperate线程是作为参数target传入mainThread,被mainThread调用的,则返回的是mainThread 4.如this.getName()获取的则是这个线程对象的名称;
版权声明:自由转载-非商用-非衍生-保持署名 lonpo
本文永久链接:
http://lonpo.github.io/java/java-thread-currentThread/