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

java中thread線程start和run的區(qū)別

 更新時間:2014年03月04日 10:10:23   作者:  
這篇文章主要介紹了java中thread線程start和run的區(qū)別,run()是Runnable接口中定義的一個方法,是為了讓客戶程序員在這個方法里寫自己的功能代碼的。直接調用和普通的類調用自己的成員方法是沒有任何區(qū)別的

最近看到一個題目,代碼如下:

復制代碼 代碼如下:

public static void main(String args[]) {
Thread t = new Thread() {
public void run() {
pong();
}
};
t.run();
System.out.println("ping");
}
static void pong() {
System.out.println("pong");
}

問,結果會輸出什么?

我運行了很多次,結果都是pong ping。后來終于發(fā)現(xiàn)了關鍵點所在,線程對象t,調用的不是start()方法,而是run()方法。后來我開斷點模式debug,發(fā)現(xiàn)調用run()方法,整個程序只有一個線程,而調用start()方法之后,程序就會多出一個線程。這時才有和主線程爭cpu,可能出現(xiàn)多種結果的情況,但由于下面輸出方法很快就被執(zhí)行了,所以基本上都是“ping pong”的輸出。

所以run()和start()的區(qū)別就是:
run()是Runnable接口中定義的一個方法,是為了讓客戶程序員在這個方法里寫自己的功能代碼的。直接調用和普通的類調用自己的成員方法是沒有任何區(qū)別的。
而start()則是線程開始運行的標志,當這個方法被調用后,程序中才會多出一個獨立的線程,接著便是執(zhí)行run()方法。

所以我覺得,自己要寫單獨的線程,最好還是繼承Thread來做,如果是實現(xiàn)接口的話,到主線程里,還是要new Thread(new YourRunnableClass())來調用,感覺很不方便。

相關文章

  • Java 開啟多線程常見的4種方法

    Java 開啟多線程常見的4種方法

    本文主要介紹了Java 開啟多線程常見的4種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • spring boot hutool整合email的詳細過程

    spring boot hutool整合email的詳細過程

    這篇文章主要介紹了spring boot hutool整合email的相關知識,本文介紹兩種方式發(fā)送email文件,結合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • SpringBoot配置多個數(shù)據(jù)源超簡單步驟(連接多個數(shù)據(jù)庫)

    SpringBoot配置多個數(shù)據(jù)源超簡單步驟(連接多個數(shù)據(jù)庫)

    公司項目有連接多個不同數(shù)據(jù)庫的需求,特研究了一下,根據(jù)網(wǎng)上的資料,這篇文章主要給大家介紹了關于SpringBoot配置多個數(shù)據(jù)源(連接多個數(shù)據(jù)庫)的相關資料,需要的朋友可以參考下
    2024-05-05
  • 基于SpringAI+DeepSeek實現(xiàn)流式對話功能

    基于SpringAI+DeepSeek實現(xiàn)流式對話功能

    一般來說大模型的響應速度通常是很慢的,為了避免用戶用戶能夠耐心等待輸出的結果,我們通常會使用流式輸出一點點將結果輸出給用戶,那么問題來了,想要實現(xiàn)流式結果輸出,后端和前端要如何配合?下來本文給出具體的實現(xiàn)代碼,需要的朋友可以參考下
    2025-02-02
  • SpringBoot項目中訪問HTML頁面的三種方法

    SpringBoot項目中訪問HTML頁面的三種方法

    這篇文章主要介紹了SpringBoot項目中訪問HTML頁面的三種方法,文中通過代碼示例和圖文結合的方式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • pom文件中${project.basedir}的使用

    pom文件中${project.basedir}的使用

    這篇文章主要介紹了pom文件中${project.basedir}的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • java學習之JasperReport踩坑

    java學習之JasperReport踩坑

    本篇文章介紹的是在JAVA學習中JasperReport遇到的坑以及解決辦法,有需要的朋友參考下吧。
    2018-01-01
  • Java 實現(xiàn)Excel文檔添加超鏈接的代碼

    Java 實現(xiàn)Excel文檔添加超鏈接的代碼

    超鏈接即內容鏈接,通過給特定對象設置超鏈接,可實現(xiàn)載體與特定網(wǎng)頁、文件、郵件、網(wǎng)絡等的鏈接,點擊鏈接載體可打開鏈接目標,在文檔處理中是一種比較常用的功能,本文將介紹通過Java程序給Excel文檔添加超鏈接的方法,感興趣的朋友一起看看吧
    2020-02-02
  • springboot數(shù)據(jù)庫操作圖文教程

    springboot數(shù)據(jù)庫操作圖文教程

    本文以圖文并茂的形式給大家介紹了springboot數(shù)據(jù)庫操作,感興趣的朋友一起看看吧
    2017-07-07
  • java類的全限定名是什么

    java類的全限定名是什么

    Java中的全限定名指的是包含包名和類名的完整標識,例如“java.lang.String”,而非限定名僅指類名,如“String”,全限定名用于區(qū)分不同包中相同名字的類,避免引用混淆,特別是在有多個包含相同類名的庫時
    2024-09-09

最新評論

麻阳| 平泉县| 闽清县| 庆阳市| 晋宁县| 汕头市| 金川县| 苍山县| 友谊县| 永宁县| 绍兴市| 阿坝县| 霍邱县| 台东县| 萨迦县| 阿鲁科尔沁旗| 霍邱县| 长宁县| 长丰县| 武冈市| 襄汾县| 无棣县| 绥棱县| 平泉县| 绍兴县| 山东| 潞西市| 武宣县| 徐州市| 禹城市| 滨海县| 湖州市| 华坪县| 田林县| 兴山县| 盖州市| 留坝县| 渑池县| 曲水县| 永春县| 武威市|