1.currentThread() 返回对当前正在执行的线程对象的引用。
2.public final String getName() 返回该线程的名称。
3. public final void setName(String name) 改变线程名称,使之与参数 name 相同。首先调用线程的 checkAccess 方法,且不带任何参数。这可能抛出 SecurityException
package com.gdzy.ThreadTest;
public class ThreadTest04 {
public static void main(String[] args){
MyThread04 t04 = new MyThread04();
Thread td1 = new Thread(t04);
Thread td2 = Thread.currentThread(); //td2 指向的地址是"main线程对象"
Thread td3 = td1.currentThread(); //td3指向的地址也是"main线程对象"
td1.start();
System.out.println(td1.getName()); // getName() 返回该线程的名称。 输出为: Thread-0
System.out.println(td2.getName()); // 输出为: main(main线程的默认名称)
System.out.println(td3.getName());// 输出为: main(main线程的默认名称)
td2.setName("这是一个main线程"); //setName() 设备该线程的名称
System.out.println(td3.getName()); //输出为: 这是一个main线程
td1.setName("MyThread04线程(在main中)");
System.out.println(td1.getName()); //输出为:MyThread04线程(在main中)
}
}
class MyThread04 implements Runnable{
public void run() {
Thread td1 = Thread.currentThread();
td1.setName("MyThread04线程(在MyThread04线程运行中)");
System.out.println(td1.getName()); //输出为: MyThread04线程(在MyThread04线程运行中)
}
}