Thread类的常用方法获取线程名称和设置线程名称

Thread类的常用方法获取线程名称的方法

获取线程的名称:

 1.使用Thread类中的方法getName()
String getName(返回该线程的名称。
2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称
static Thread currentThread()返回对当前正在执行的线程对象的引用。
class MyThread extends Thread{
    @Override
    public void run() {
//        String name = getName();
//        System.out.println(name);
        String t = Thread.currentThread().getName();
        System.out.println(t);
    }
}

public class Demo01GetThreadName {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
        new MyThread().start();
        new MyThread().start();
        System.out.println(Thread.currentThread().getName());
    }
}

运行结果:

 

 

 

 

 

Thread类的常用方法设置线程名称

设置线程的名称:

   1、使用Thread类中的setName方法

      void setName(String name);  改变线程的名称,使之与参数name相同

class MyThread extends Thread{
    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
}
public class Demo01GetThreadName {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.setName("张三");
        myThread.start();
    }
}

   2、创建一个带参数的构造方法,参数传递线程的名称;调用父类的带参构造方法,把线程名称传递给父类,让父类(Thread)给子线程起一个名字

      Thread(String name); 分配新的Thread对象

class MyThread extends Thread{
    public MyThread() {
    }

    public MyThread(String name) {
        super(name);
    }

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }
}
public class Demo01GetThreadName {
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.setName("张三");
        myThread.start();
        new Thread("李四").start();
    }
}

运行结果:

 

 

posted @ 2022-07-08 13:47  xjw12345  阅读(1277)  评论(0)    收藏  举报