Java多線程的常用創(chuàng)建方式總結(jié)
Java多線程的創(chuàng)建方式
Java現(xiàn)在有四種創(chuàng)建的方式:繼承Threa類、實現(xiàn)Runnable接口、實現(xiàn)Callable接口、線程池
Thread、Runnable都在java.lang包下;Callable、線程池都在java.util.concurrent包下
1.繼承Thread類,重寫run方法
創(chuàng)建一個類繼承Thread類,并重寫run();因為run()是線程具體執(zhí)行的方法
在測試類或者main()創(chuàng)建Thread對象,并調(diào)用start()啟動線程
備注:start()是啟動線程,run()是線程執(zhí)行的業(yè)務(wù)方法
2.實現(xiàn)Runnable接口,通過參數(shù)方式創(chuàng)建線程
創(chuàng)建一個類實現(xiàn)Runnable接口并重寫run
在測試類或者main()創(chuàng)建Thread對象,并傳入該接口實現(xiàn)類對象,并調(diào)用start()啟動線程
3.實現(xiàn)Callable接口,通過FutureTask來創(chuàng)建線程
創(chuàng)建一個類實現(xiàn)Callable接口,重寫call()call()支持有返回值和拋異常Callable支持泛型
傳入Callable對象,創(chuàng)建FutureFask類
備注:FutureTask實現(xiàn)了Runnable接口;FutureTask.get()可以獲取call()返回值
創(chuàng)建Thread對象,并調(diào)用start方法啟動線程
4.通過線程池方式創(chuàng)建線程
創(chuàng)建一個類實現(xiàn)Runnable或者Callable接口,并重寫對應(yīng)方法
創(chuàng)建一個線程池對象,并執(zhí)行execute方法啟動線程
備注:可以通過線程池方式管理線程個數(shù)等配置信息
幾種創(chuàng)建方式想必大家都已了解,但在實際開發(fā)中大多數(shù)都是以線程池來操作線程的;
線程池優(yōu)勢:提升響應(yīng)速度,提高資源重用率,便于管理
線程的生命周期
到此這篇關(guān)于Java多線程的常用創(chuàng)建方式總結(jié)的文章就介紹到這了,更多相關(guān)Java多線程的創(chuàng)建方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java反射機制詳解_動力節(jié)點Java學(xué)院整理
Java 反射機制。通俗來講呢,就是在運行狀態(tài)中,我們可以根據(jù)“類的部分已經(jīng)的信息”來還原“類的全部的信息”。這篇文章給大家詳細介紹了java反射機制的知識,感興趣的朋友一起看看吧2017-06-06Spring?Boot項目集成Knife4j接口文檔的實例代碼
Knife4j就相當(dāng)于是swagger的升級版,對于我來說,它比swagger要好用得多<BR>,這篇文章主要介紹了Spring?Boot項目集成Knife4j接口文檔的示例代碼,需要的朋友可以參考下2021-12-12IntelliJ IDEA連接MySQL數(shù)據(jù)庫詳細圖解
今天小編就為大家分享一篇關(guān)于intellij idea連接mysql數(shù)據(jù)庫詳細圖解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10SpringBoot和Vue.js實現(xiàn)的前后端分離的用戶權(quán)限管理系統(tǒng)
本文主要介紹了SpringBoot和Vue.js實現(xiàn)的前后端分離的用戶權(quán)限管理系統(tǒng),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04詳解Java對象序列化為什么要使用SerialversionUID
這篇文章主要介紹了詳解Java對象序列化為什么要使用SerialversionUID,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11Nacos后臺頻繁打印get changedGroupKeys:[]的問題及解決
這篇文章主要介紹了Nacos后臺頻繁打印get changedGroupKeys:[]的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01