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

主线程 MyThread01Thread 

package cn.itcast.day12.demo05;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName MyThread01Thread.java
 * @Description TODO
 * @createTime 2021年09月27日 20:38:00
 */

/**
 *  线程名称:
 *      主线程:main
 *      新线程:name = Thread-0,Thread-1,Thread-2
 *
 */
public class MyThread01Thread {
    public static void main(String[] args) {
        //创建Thread类的子类对象
        MyThread01 mt = new MyThread01();
        //调用start方法,开启新线程,执行run方法
        mt.start();

        MyThread01 mt1 = new MyThread01();
        mt1.start();

        new MyThread01().start();
        /**
         * 主线程不能直接使用getName方法 因为主线程并没有直接继承Thread类 就没有getName方法
         * 所以必须要先获取 Thread.currentThread() 当前正在执行的线程  .getName() 然后再来获取getName 获取名称
         */

        System.out.println(Thread.currentThread().getName());

    }
}

 新线程  MyThread01

package cn.itcast.day12.demo05;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName MyThread01.java
 * @Description TODO
 * @createTime 2021年09月27日 20:32:00
 */

/**
 *  获取线程的名称:
 *      1.使用Thread类中的方法getName()
 *          String getName() 返回该线程的名称
 *      2.可以先获取到当前正在执行的线程,使用线程中的方法getName() 获取线程名称
 *          static Thread currentThread() 返回当前正在执行的线程对象的引用
 *
 */
//定义一个Thread类的子类
public class MyThread01 extends Thread{
    //重写Thread类中的run方法,设置线程任务

    @Override
    public void run() {
       //获取线程名称
                //第一种方法
      /*  String name = getName();
        System.out.println("name = " + name);*/
        /**
         * name = Thread-0
         * name = Thread-1
         * name = Thread-2
         */
                //第二种方法
      /*  Thread t = Thread.currentThread();
        System.out.println("t = " + t);*/
        /**
         * t = Thread[Thread-0,5,main]
         * t = Thread[Thread-2,5,main]
         * t = Thread[Thread-1,5,main]
         *
         */
                //第三种方法
       /* String name = t.getName();
        System.out.println("name = " + name);*/
        /**
         *
         * t = Thread[Thread-2,5,main]
         * name = Thread-2
         * t = Thread[Thread-0,5,main]
         * name = Thread-0
         * t = Thread[Thread-1,5,main]
         * name = Thread-1
         */



                //第四种方法
        System.out.println(Thread.currentThread().getName());
        /**
         * 链式编程
         * Thread-0
         * Thread-1
         * Thread-2
         */

    }
}

猜你喜欢

转载自blog.csdn.net/nanyangnongye/article/details/120517308