Run()和Start()方法的區(qū)別

兩種方法的區(qū)別:

1.start方法

用start方法來啟動線程,是真正實現(xiàn)了多線程,通過調(diào)用Thread類的start()方法來啟動一個線程,這時此線程處于就緒(可運行)狀態(tài),并沒有運行,一旦得到cpu時間片,就開始執(zhí)行run()方法。但要注意的是,此時無需等待run()方法執(zhí)行完畢,即可繼續(xù)執(zhí)行下面的代碼。所以run()方法并沒有實現(xiàn)多線程。

2.run方法

run()方法只是類的一個普通方法而已,如果直接調(diào)用Run方法,程序中依然只有主線程這一個線程,其程序執(zhí)行路徑還是只有一條,還是要順序執(zhí)行,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼。


所以說:

run()方法就是一個普通的方法,真正啟動一個新線程的話是start()。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 本文主要講了java中多線程的使用方法、線程同步、線程數(shù)據(jù)傳遞、線程狀態(tài)及相應(yīng)的一些線程函數(shù)用法、概述等。 首先講...
    李欣陽閱讀 2,503評論 1 15
  • Java多線程學(xué)習(xí) [-] 一擴展javalangThread類 二實現(xiàn)javalangRunnable接口 三T...
    影馳閱讀 2,994評論 1 18
  • 一、進(jìn)程和線程 進(jìn)程 進(jìn)程就是一個執(zhí)行中的程序?qū)嵗總€進(jìn)程都有自己獨立的一塊內(nèi)存空間,一個進(jìn)程中可以有多個線程。...
    阿敏其人閱讀 2,626評論 0 13
  • 有沒有這么一種感覺,在每個或星繞月明或烏云溺天或雨雪紛落的夜晚,夢境中的一切是多么的真實 其實,你的記憶能記住多少...
    Joanna_Yip閱讀 217評論 0 1