• Java多线程:Thread类常用API


    Thread常用方法
    获取线程名称getName()、设置名称setName()、获取当前线程对象currentThread()。

    至于Thread类提供的诸如:yield、join、interrupt、不推荐的方法 stop 、守护线程、线程优先级等线程的控制方法,在开发中很少使用。

    Thread获取和设置线程名称

    方法说明
    String getName​()获取当前线程的名称,默认线程名称是Thread-索引
    void setName​(String name)将此线程的名称更改为指定的名称,通过构造器也可以设置线程名称

    注意
    如果不设置线程名字的话,是会有默认线程名的:Thread-索引,如果要设置线程名,则需在线程类中声明构造器,然后使用super(name),即Thread类中已经定义了名字变量,直接使用即可。
    代码如下

    public class MyThread extends {
        public MyThread() {
        }
    
        public MyThread(String name) {
            // 为当前线程对象设置名称,送给父类的有参数构造器初始化名称
            super(name);
        }
    
        @Override
        public void run() {
            for (int i = 0; i < 5; i++) {
                System.out.println( Thread.currentThread().getName() + "输出:" + i);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    Thread类获得当前线程的对象

    在这里插入图片描述
    注意
    1、此方法是Thread类的静态方法,可以直接使用Thread类调用;
    2、这个方法是在哪个线程执行中调用的,就会得到哪个线程对象;

    public class ThreadDemo01 {
        // main方法是由主线程负责调度的
        public static void main(String[] args) {
            Thread t1 = new MyThread("1号");
            // t1.setName("1号");
            t1.start();
            System.out.println(t1.getName());
    
            Thread t2 = new MyThread("2号");
            // t2.setName("2号");
            t2.start();
            System.out.println(t2.getName());
    
            // 哪个线程执行它,它就得到哪个线程对象(当前线程对象)
            // 主线程的名称就叫main
            Thread m = Thread.currentThread();
            System.out.println(m.getName());
            m.setName("最牛的线程");
    
            for (int i = 0; i < 5; i++) {
                System.out.println( m.getName() + "输出:" + i);
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    Thread类的线程休眠方法

    在这里插入图片描述

    public class ThreadDemo02 {
        // main方法是由主线程负责调度的
        public static void main(String[] args) throws Exception {
            for (int i = 1; i <= 5; i++) {
                System.out.println("输出:" + i);
                if(i == 3){
                    // 让当前线程进入休眠状态
                    Thread.sleep(3000);
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Element中Tree树结构组件中实现Ctrl和Shift多选
    如何用 Java 写一个 Java 虚拟机
    瓦尔纳宝典读后感
    Redis篇---第十四篇
    抖音矩阵系统,抖音SEO源码,抖音矩阵系统look。
    【详细讲解Edge使用心得与深度探索】
    Go: 对数表示的幂(附完整源码)
    软阴影(PCF、PCSS)
    rsync下行同步+inotify实时同步部署
    MobPush 推送查询API
  • 原文地址:https://blog.csdn.net/weixin_52341477/article/details/125470976