java中如何获取线程名称

 更新时间:2023年06月12日 16:36:03   作者:瓜导  
这篇文章主要介绍了java中如何获取线程名称问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java获取线程名称

调用MyThread中的方法

package cn.itcast.day09.getName;
import cn.itcast.day09.getName.MyThread;
/*
   线程的名称:
    主线程:main
    新线程:Thread-1,Thread-0,Thread-2
 */
public class Demo01Thread {
    public static void main(String[] args) {
        //3.创建Thread类的子类对象
        MyThread mt=new MyThread();
        //调用Thread类中的方法start方法,开启新的线程,执行run方法
        mt.start();
        new MyThread().start();
        new MyThread().start();
        System.out.println(Thread.currentThread().getName());
    }
}
package cn.itcast.day09.getName;
/*
    获取线程的名称:
    1.使用Thread类中的方法getName()
        String gerName()返回该线程的名称
    2.可以先获取到当前正在执行的线程,使用线程中的方法getName()获取线程的名称
        static Thread currentThread() 返回对当前正在执行的线程对象的引用
 */
public class MyThread extends Thread {
    // 重写 Thread类中的run方法,设置线程任务
    public void run() {
        //获取线程的名称:
        //使用Thread类中的方法getName()
//        String name = getName();
//        System.out.println(name);
        // static Thread currentThread() 返回对当前正在执行的线程对象的引用
//        Thread t=Thread.currentThread();
//        System.out.println(t);
//
//        String name = t.getName();
//        System.out.println(name);
        System.out.println(Thread.currentThread().getName());
    }
}

获取线程 ID 和当前线程

点睛

1 API

// 获取线程唯一 ID
public long getId()
// 获取线程名称
public final String getName()
// 当前执行线程的引用
public static native Thread currentThread()

2 说明

线程的 ID 在整个 JVM 进程中都会是唯一的,并且从 0 开始逐次递增。

mian 线程的 getId() 并不等于0,这是因为在一个 JVM 进程启动的时候,实际上是开辟了很多个线程,自增序列已经有了一定的消耗,因此我们自己创建的线程并不是从0开始的。

实战

1 代码

package concurrent;
public class ThreadIDAndName {
    public static void main(String[] args) {
        Thread thread = new Thread() {
            public void run() {
                System.out.println(Thread.currentThread() == this);
                System.out.println("sub Thread  name is " + Thread.currentThread().getName());
                System.out.println("sub Thread is " + Thread.currentThread().getId());
            }
        };
        thread.start();
        System.out.println("main Thread name is " + Thread.currentThread().getName());
        System.out.println("main Thread id is " + Thread.currentThread().getId());
    }
}

2 测试

main Thread name is main
true
main Thread id is 1
sub Thread  name is Thread-0
sub Thread is 12

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • idea克隆maven项目的方法步骤(图文)

    idea克隆maven项目的方法步骤(图文)

    这篇文章主要介绍了idea克隆maven项目的方法步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 基于SpringMVC接受JSON参数详解及常见错误总结

    基于SpringMVC接受JSON参数详解及常见错误总结

    下面小编就为大家分享一篇基于SpringMVC接受JSON参数详解及常见错误总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 基于Java实将现Excel转换为HTML

    基于Java实将现Excel转换为HTML

    在当今数据驱动的时代,Excel 作为数据存储和分析的利器,几乎无处不在,,本文将深入探讨如何利用 Java,结合强大的 Spire.XLS for Java 库,轻松实现 Excel 到 HTML 的高效转换,感兴趣的可以了解下
    2025-08-08
  • System.getProperty(“line.separator“)含义及意义详解

    System.getProperty(“line.separator“)含义及意义详解

    这篇文章主要介绍了System.getProperty(“line.separator“)含义,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • SpringCloud 微服务最佳开发实践

    SpringCloud 微服务最佳开发实践

    本文结合我们实际的开发中遇到的一些问题整理出了一份微服务开发的实践规范,对SpringCloud 微服务开发实践相关知识感兴趣的朋友一起看看吧
    2021-07-07
  • idea常用配置之注释快捷键方式

    idea常用配置之注释快捷键方式

    这篇文章主要介绍了idea常用配置之注释快捷键方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • SpringBoot加载外部Jar实现功能按需扩展

    SpringBoot加载外部Jar实现功能按需扩展

    这篇文章主要为大家详细介绍了SpringBoot加载外部Jar实现功能按需扩展的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-06-06
  • java中BASE64加密/解密详解(附带源码)

    java中BASE64加密/解密详解(附带源码)

    这篇文章主要介绍了java中BASE64加密/解密的相关资料,并详细展示了如何在Java中使用内置的Base64类进行编码和解码,文章还涵盖不同类型的Base64编码及其应用场景,需要的朋友可以参考下
    2025-05-05
  • 详解Java 自动装箱与自动拆箱

    详解Java 自动装箱与自动拆箱

    这篇文章主要介绍了Java 自动装箱与自动拆箱的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09
  • Java实现文字滚动广告字幕效果

    Java实现文字滚动广告字幕效果

    文字滚动广告字幕是一种常见的动态文本展示效果,通常用于展示新闻、广告或其他动态信息,在本项目中,我们将使用Java的Swing库来实现一个简单的文字滚动广告字幕效果,通过定时更新文本的位置来模拟文字的滚动,需要的朋友可以参考下
    2025-02-02

最新评论