最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程中Thread.currentThread()和this的區(qū)別詳解

 更新時間:2023年08月07日 10:02:17   作者:鍵盤林  
這篇文章主要介紹了Java多線程中Thread.currentThread()和this的區(qū)別詳解,Thread.currentThread()方法返回的是對當前正在執(zhí)行的線程對象的引用,this代表的是當前調用它所在函數(shù)所屬的對象的引用,需要的朋友可以參考下

Thread.currentThread()和this的區(qū)別

線程中有兩個對象在剛開始的時候會遇到:

Thread.currentThread().getName();
this.getName()

能夠this.getName()的前提是你必須繼承了Thread類, .getName()方法是從Thread類中繼承下來的;

現(xiàn)在看代碼:

public class MyThread  extends Thread{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println(Thread.currentThread().getName());
		System.out.println(this.getName());
	}
}

main方法:

public class MyRun {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyThread t1=new MyThread();
		t1.run();
		t1.start();
	}
}

運行結果:

main
Thread-0
Thread-0
Thread-0

首先第一個結果"main",是運行了下面這個代碼

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

Thread.currentThread()獲取的是當前執(zhí)行的線程,而因為沒有開始線程只是調用了類中的run方法,所以還只是main這個線程在執(zhí)行.

第二個結果"Thread-0",是運行了下面這個代碼:

System.out.println(this.getName());

this.getName()調用的是當前對象的方法,而當前對象我并沒有寫該方法,那就是調用它父類Thread的方法,而且我們在初始化的時候也并沒有命名,那這"Thread-0"又是從何而來呢,進入Thread類查看:

首先找到name屬性:

可以看到該name是沒有被初始化的;

那么找到該Thread類的接口Runnable初始化構造函數(shù):

在這里我們還是看不出來name是如何賦值的,進入"init()"方法繼續(xù)查看:

從這里我們就看到了"name"值被傳入一個"Thread-",但是后面的"0"我找了很久是真的沒找到,但是這并不影響我們的推斷,那就是this指的是本對象,而Thread.current指向的是當前線程.

第三個結果和第三個結果還不好解釋,修改代碼:

增加一行代碼:

運行結果:

也就是說,在線程未開啟的時候,兩個對象不是同一個,this對象是本身對象,而Thread.currentThread()是main對象;

當線程啟動的時候,Thread.currentThread()對象就是this對象了;

所以說到底應該能夠動后面兩個結果是為什么了.

到此這篇關于Java多線程中Thread.currentThread()和this的區(qū)別詳解的文章就介紹到這了,更多相關Thread.currentThread()和this的區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)獲取圖片和視頻文件的Exif信息

    Java實現(xiàn)獲取圖片和視頻文件的Exif信息

    這篇文章將重點為大家介紹一下如何使用Java編程語言結合metadata-extractor去自動獲取全景圖片的Exif信息,獲取照片的拍攝坐標信息,感興趣的可以了解一下
    2022-11-11
  • java生成json實現(xiàn)隱藏掉關鍵屬性

    java生成json實現(xiàn)隱藏掉關鍵屬性

    這篇文章主要介紹了java生成json實現(xiàn)隱藏掉關鍵屬性,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring?Boot日志介紹和配置

    Spring?Boot日志介紹和配置

    在程序中,日志對象通過LoggerFactory獲取,日志框架如SLF4J提供統(tǒng)一API,便于管理和維護,日志級別分為FATAL、ERROR、WARN、INFO、DEBUG、TRACE,通過配置可細化日志輸出,日志還可持久化存儲和格式化,使用lombok可簡化日志代碼的編寫
    2024-11-11
  • Java插入、替換和刪除PDF圖像的操作完整指南

    Java插入、替換和刪除PDF圖像的操作完整指南

    在當今數(shù)字化的世界中,PDF 已經(jīng)成為文檔交換的標準格式,本教程將深入探討如何使用 Spire.PDF for Java 庫,輕松實現(xiàn) PDF 圖像的添加、替換與刪除操作,希望對大家有一定的幫助
    2025-10-10
  • java實現(xiàn)文件編碼轉換的方法

    java實現(xiàn)文件編碼轉換的方法

    這篇文章主要為大家詳細介紹了java實現(xiàn)文件編碼轉換的方法,分享一個文件編碼轉換的工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 通過實例解析Spring組合注解與元注解

    通過實例解析Spring組合注解與元注解

    這篇文章主要介紹了通過實例解析Spring組合注解與元注解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • MyBatis discriminator標簽原理實例解析

    MyBatis discriminator標簽原理實例解析

    這篇文章主要為大家介紹了MyBatis discriminator標簽實現(xiàn)原理實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • springcloud client指定注冊到eureka的ip與端口號方式

    springcloud client指定注冊到eureka的ip與端口號方式

    這篇文章主要介紹了springcloud client指定注冊到eureka的ip與端口號方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • SpringBoot整合logback日志的詳細步驟

    SpringBoot整合logback日志的詳細步驟

    這篇文章主要介紹了SpringBoot整合logback日志的詳細步驟,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Java DelayQueue延遲隊列的原理與應用場景詳解

    Java DelayQueue延遲隊列的原理與應用場景詳解

    DelayQueue是一個無界阻塞隊列,里面裝滿了實現(xiàn)Delayed接口的元素,本文主要為大家詳細介紹了Java如何使用DelayQueue,感興趣的小伙伴可以了解下
    2025-07-07

最新評論

准格尔旗| 汉源县| 邵武市| 修武县| 文成县| 怀柔区| 樟树市| 芦山县| 香河县| 黄浦区| 乾安县| 灌阳县| 武安市| 侯马市| 嘉兴市| 贡山| 类乌齐县| 大化| 柳州市| 麦盖提县| 宁河县| 温州市| 赤城县| 永兴县| 彩票| 普兰店市| 托里县| 江华| 仙桃市| 红原县| 湖北省| 钟祥市| 屏东县| 大厂| 巨野县| 加查县| 泾川县| 大埔县| 肃南| 织金县| 鹤峰县|