JavaSE-20.1.2【设置和获取线程名称】
1 package day11.lesson1.p2; 2 3 /* 4 1.3 设置和获取线程名称 5 6 Thread类中设置和获取线程名称: 7 void setName(String name) 将此线程的名称更改为等于参数name 8 String getName() 返回此线程的名称 9 通过构造方法也可以设置线程名称 10 11 获取main()方法所在的线程名称: 12 public static Thread currentThread() 返回对当前正在执行的线程对象的引用 13 */ 14 public class MyThreadDemo { 15 public static void main(String[] args) { 16 /*MyThread mt1 = new MyThread(); 17 MyThread mt2 = new MyThread(); 18 19 mt1.setName("高铁"); 20 mt2.setName("飞机"); 21 22 mt1.start(); 23 mt2.start();*/ 24 25 MyThread mt1 = new MyThread("高铁"); //正常这样是不行的,会编译异常 26 MyThread mt2 = new MyThread("飞机"); //在MyThread类中主动提供带参构造后可行 27 28 mt1.start(); 29 mt2.start(); 30 31 System.out.println(Thread.currentThread().getName()); //main 32 } 33 }
1 package day11.lesson1.p2; 2 3 public class MyThread extends Thread{ 4 5 public MyThread(String name) { 6 super(name); 7 } 8 9 @Override 10 public void run() { 11 for (int i=0; i<100; i++){ 12 System.out.println(getName() + ":" + i); 13 } 14 //默认名称:Thread-0 Thread-1 ... Thread-xxx 15 } 16 17 }