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 }