current [ˈkɜːrənt] 意思:现在的

用Thread构造器为线程取名字;
package com.itheima.d2_api;/*** 目标: 线程的API*/public class ThreadDemo01 {// main方法是由主线程负责调度的public static void main(String[] args) {Thread t1 = new MyThread("一号");// t1.setName("1号"); // 为线程取名字t1.start(); // 线程开启System.out.println(t1.getName()); // getName方法获取当前线程的名字(默认名字)Thread t2 = new MyThread("2号");// t2.setName("2号"); // 为线程取名字t2.start(); // 线程开启System.out.println(t1.getName()); // getName方法获取当前线程的名字// 哪个线程执行它,它就得到哪个线程对象(当前线程对象)// 主线程的名字就叫mainThread m = Thread.currentThread(); // m 现在是mian方法的线程对象(因为是main方法执行了它)System.out.println(m.getName()); // 获取main方法主线程的名字m.setName("最牛的线程");for (int i = 0; i < 5; i++) {System.out.println(m.getName() + "线程输出:" + i);}}}
package com.itheima.d2_api;public class MyThread extends Thread{public MyThread(){}// 定义一个有参构造器为 线程对象取名字public MyThread(String name) {// 为当前线程对象设置名称,送给父类的有参构造器初始化名称super(name); // 父类(super)是Thread线程类}@Overridepublic void run() {for (int i = 0; i < 5; i++) {// 使用Thread类的currentThread()方法,获取当前线程对象,然后调用其getName方法,获取默认名字// 如果是t1线程执行它,就拿t1的名字, t2执行它就拿t2的名字System.out.println(Thread.currentThread().getName() + "子线程输出");}}}
