java thread start()和run()方法簡(jiǎn)析
更新時(shí)間:2012年11月21日 15:35:16 作者:
本文以java中thread的start()和run()的區(qū)別做詳細(xì)介紹, 需要了解跟多的朋友可以參考下
1.start()方法來啟動(dòng)線程,真正實(shí)現(xiàn)了多線程運(yùn)行,這時(shí)無需等待run方法體代碼執(zhí)行完畢而直接繼續(xù)執(zhí)行下面的代碼:
通過調(diào)用Thread類的start()方法來啟動(dòng)一個(gè)線程,
這時(shí)此線程是處于就緒狀態(tài),
并沒有運(yùn)行。
然后通過此Thread類調(diào)用方法run()來完成其運(yùn)行操作的,
這里方法run()稱為線程體,
它包含了要執(zhí)行的這個(gè)線程的內(nèi)容,
Run方法運(yùn)行結(jié)束,
此線程終止,
而CPU再運(yùn)行其它線程,
2.run()方法當(dāng)作普通方法的方式調(diào)用,程序還是要順序執(zhí)行,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼:
而如果直接用Run方法,
這只是調(diào)用一個(gè)方法而已,
程序中依然只有主線程--這一個(gè)線程,
其程序執(zhí)行路徑還是只有一條,
這樣就沒有達(dá)到寫線程的目的。
通過調(diào)用Thread類的start()方法來啟動(dòng)一個(gè)線程,
這時(shí)此線程是處于就緒狀態(tài),
并沒有運(yùn)行。
然后通過此Thread類調(diào)用方法run()來完成其運(yùn)行操作的,
這里方法run()稱為線程體,
它包含了要執(zhí)行的這個(gè)線程的內(nèi)容,
Run方法運(yùn)行結(jié)束,
此線程終止,
而CPU再運(yùn)行其它線程,
2.run()方法當(dāng)作普通方法的方式調(diào)用,程序還是要順序執(zhí)行,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼:
而如果直接用Run方法,
這只是調(diào)用一個(gè)方法而已,
程序中依然只有主線程--這一個(gè)線程,
其程序執(zhí)行路徑還是只有一條,
這樣就沒有達(dá)到寫線程的目的。
相關(guān)文章
Java規(guī)則引擎easy-rules詳細(xì)介紹
本文主要介紹了Java規(guī)則引擎easy-rules詳細(xì)介紹,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01舉例講解Java設(shè)計(jì)模式中的對(duì)象池模式編程
這篇文章主要介紹了Java設(shè)計(jì)模式中的對(duì)象池模式編程示例分享,對(duì)象池模式經(jīng)常在多線程開發(fā)時(shí)被用到,需要的朋友可以參考下2016-02-02java普通項(xiàng)目讀取不到resources目錄下資源文件的解決辦法
這篇文章主要給大家介紹了關(guān)于java普通項(xiàng)目讀取不到resources目錄下資源文件的解決辦法,Web項(xiàng)目中應(yīng)該經(jīng)常有這樣的需求,在maven項(xiàng)目的resources目錄下放一些文件,比如一些配置文件,資源文件等,需要的朋友可以參考下2023-09-09spring boot自定義配置時(shí)在yml文件輸入有提示問題及解決方案
自定義一個(gè)配置類,然后在yml文件具體配置值時(shí),一般不會(huì)有提示,今天小編給大家分享spring boot自定義配置時(shí)在yml文件輸入有提示問題,感興趣的朋友一起看看吧2023-10-10Java實(shí)現(xiàn)給微信群中定時(shí)推送消息
這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)給微信群中定時(shí)推送消息的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-12-12SpringBoot整合sharding-jdbc實(shí)現(xiàn)自定義分庫分表的實(shí)踐
本文主要介紹了SpringBoot整合sharding-jdbc實(shí)現(xiàn)自定義分庫分表的實(shí)踐,將通過自定義算法來實(shí)現(xiàn)定制化的分庫分表來擴(kuò)展相應(yīng)業(yè)務(wù),感興趣的可以了解一下2021-11-11SpringBoot實(shí)現(xiàn)異步消息處理的代碼示例
在現(xiàn)代應(yīng)用程序中,異步消息處理是一項(xiàng)至關(guān)重要的任務(wù)。它可以提高應(yīng)用程序的性能、可伸縮性和可靠性,同時(shí)也可以提供更好的用戶體驗(yàn),本文將介紹如何使用Spring Boot實(shí)現(xiàn)異步消息處理,并提供相應(yīng)的代碼示例2023-06-06