欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中如何獲取線程名稱

 更新時(shí)間:2023年06月12日 16:36:03   作者:瓜導(dǎo)  
這篇文章主要介紹了java中如何獲取線程名稱問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java獲取線程名稱

調(diào)用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.創(chuàng)建Thread類的子類對(duì)象
        MyThread mt=new MyThread();
        //調(diào)用Thread類中的方法start方法,開(kāi)啟新的線程,執(zhí)行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.可以先獲取到當(dāng)前正在執(zhí)行的線程,使用線程中的方法getName()獲取線程的名稱
        static Thread currentThread() 返回對(duì)當(dāng)前正在執(zhí)行的線程對(duì)象的引用
 */
public class MyThread extends Thread {
    // 重寫 Thread類中的run方法,設(shè)置線程任務(wù)
    public void run() {
        //獲取線程的名稱:
        //使用Thread類中的方法getName()
//        String name = getName();
//        System.out.println(name);
        // static Thread currentThread() 返回對(duì)當(dāng)前正在執(zhí)行的線程對(duì)象的引用
//        Thread t=Thread.currentThread();
//        System.out.println(t);
//
//        String name = t.getName();
//        System.out.println(name);
        System.out.println(Thread.currentThread().getName());
    }
}

獲取線程 ID 和當(dāng)前線程

點(diǎn)睛

1 API

// 獲取線程唯一 ID
public long getId()
// 獲取線程名稱
public final String getName()
// 當(dāng)前執(zhí)行線程的引用
public static native Thread currentThread()

2 說(shuō)明

線程的 ID 在整個(gè) JVM 進(jìn)程中都會(huì)是唯一的,并且從 0 開(kāi)始逐次遞增。

mian 線程的 getId() 并不等于0,這是因?yàn)樵谝粋€(gè) JVM 進(jìn)程啟動(dòng)的時(shí)候,實(shí)際上是開(kāi)辟了很多個(gè)線程,自增序列已經(jīng)有了一定的消耗,因此我們自己創(chuàng)建的線程并不是從0開(kāi)始的。

實(shí)戰(zhàn)

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 測(cè)試

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的引用和動(dòng)態(tài)代理的實(shí)現(xiàn)詳解

    Java中的引用和動(dòng)態(tài)代理的實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java中的引用和動(dòng)態(tài)代理的實(shí)現(xiàn)詳解,涉及Java中的引用類型,JVMGC的可達(dá)性分析,代理模式等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • java中的基礎(chǔ)運(yùn)算符

    java中的基礎(chǔ)運(yùn)算符

    這篇文章主要介紹了Java基本數(shù)據(jù)類型和運(yùn)算符,結(jié)合實(shí)例形式詳細(xì)分析了java基本數(shù)據(jù)類型、數(shù)據(jù)類型轉(zhuǎn)換、算術(shù)運(yùn)算符、邏輯運(yùn)算符等相關(guān)原理與操作技巧,需要的朋友可以參考下
    2021-08-08
  • Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    Java局部?jī)?nèi)部類和匿名內(nèi)部類定義與用法實(shí)例分析

    這篇文章主要介紹了Java局部?jī)?nèi)部類和匿名內(nèi)部類,結(jié)合實(shí)例形式分析了java局部?jī)?nèi)部類和匿名內(nèi)部類相關(guān)定義、原理與用法,需要的朋友可以參考下
    2019-08-08
  • java中的HashSet與 == 和 equals的區(qū)別示例解析

    java中的HashSet與 == 和 equals的區(qū)別示例解析

    HashSet是Java中基于哈希表實(shí)現(xiàn)的集合類,特點(diǎn)包括:元素唯一、無(wú)序和可包含null,本文給大家介紹java中的HashSet與 == 和 equals的區(qū)別,感興趣的朋友一起看看吧
    2025-02-02
  • Java高并發(fā)場(chǎng)景下的 HttpClient請(qǐng)求優(yōu)化實(shí)現(xiàn)

    Java高并發(fā)場(chǎng)景下的 HttpClient請(qǐng)求優(yōu)化實(shí)現(xiàn)

    本文主要介紹了Java高并發(fā)場(chǎng)景下的 HttpClient請(qǐng)求優(yōu)化實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Arrays.sort(arr)是什么排序及代碼邏輯

    Arrays.sort(arr)是什么排序及代碼邏輯

    在學(xué)習(xí)過(guò)程中觀察到Arrays.sort(arr)算法可以直接進(jìn)行排序,但不清楚底層的代碼邏輯是什么樣子,今天通過(guò)本文給大家介紹下Arrays.sort(arr)是什么排序,感興趣的朋友一起看看吧
    2022-02-02
  • SpringBoot使用阿里oss實(shí)現(xiàn)文件上傳的流程步驟

    SpringBoot使用阿里oss實(shí)現(xiàn)文件上傳的流程步驟

    云服務(wù)指的就是通過(guò)互聯(lián)網(wǎng)對(duì)外提供的各種各樣的服務(wù),比如像:語(yǔ)音服務(wù)、短信服務(wù)、郵件服務(wù)、視頻直播服務(wù)、文字識(shí)別服務(wù)、對(duì)象存儲(chǔ)服務(wù)等等,本文通過(guò)代碼示例和圖文給大家介紹了SpringBoot使用阿里oss實(shí)現(xiàn)文件上傳的流程步驟,需要的朋友可以參考下
    2025-01-01
  • Java對(duì)象以Hash結(jié)構(gòu)存入Redis詳解

    Java對(duì)象以Hash結(jié)構(gòu)存入Redis詳解

    這篇文章主要介紹了Java對(duì)象以Hash結(jié)構(gòu)存入Redis詳解,和Java中的對(duì)象非常相似,卻不能按照J(rèn)ava對(duì)象的結(jié)構(gòu)直接存儲(chǔ)進(jìn)Redis的hash中,因?yàn)镴ava對(duì)象中的field是可以嵌套的,而Redis的Hash結(jié)構(gòu)不支持嵌套結(jié)構(gòu),需要的朋友可以參考下
    2023-08-08
  • Java定義形式及可變參數(shù)實(shí)例解析

    Java定義形式及可變參數(shù)實(shí)例解析

    這篇文章主要介紹了Java定義形式及可變參數(shù)實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Java?BigDecimal正確用法詳解

    Java?BigDecimal正確用法詳解

    Java在java.math包中提供的API類BigDecimal,用來(lái)對(duì)超過(guò)16位有效位的數(shù)進(jìn)行精確的運(yùn)算。雙精度浮點(diǎn)型變量double可以處理16位有效數(shù),但在實(shí)際應(yīng)用中,可能需要對(duì)更大或者更小的數(shù)進(jìn)行運(yùn)算和處理
    2022-10-10

最新評(píng)論