溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java多線程的創(chuàng)建方式

發(fā)布時間:2021-07-19 13:40:22 來源:億速云 閱讀:178 作者:chen 欄目:開發(fā)技術

這篇文章主要介紹“Java多線程的創(chuàng)建方式”,在日常操作中,相信很多人在Java多線程的創(chuàng)建方式問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”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í)行的方法。

Java多線程的創(chuàng)建方式

在測試類或者main()創(chuàng)建Thread對象,并調(diào)用start()啟動線程

Java多線程的創(chuàng)建方式

備注:start()是啟動線程,run()是線程執(zhí)行的業(yè)務方法

2.實現(xiàn)Runnable接口,通過參數(shù)方式創(chuàng)建線程

創(chuàng)建一個類實現(xiàn)Runnable接口并重寫run()

Java多線程的創(chuàng)建方式

在測試類或者main()創(chuàng)建Thread對象,并傳入該接口實現(xiàn)類對象,并調(diào)用start()啟動線程

Java多線程的創(chuàng)建方式

3.實現(xiàn)Callable接口,通過FutureTask來創(chuàng)建線程

創(chuàng)建一個類實現(xiàn)Callable接口,重寫call()call()支持有返回值和拋異常Callable支持泛型

Java多線程的創(chuàng)建方式

傳入Callable對象,創(chuàng)建FutureFask類

Java多線程的創(chuàng)建方式

    備注:FutureTask實現(xiàn)了Runnable接口;FutureTask.get()可以獲取call()返回值

創(chuàng)建Thread對象,并調(diào)用start方法啟動線程

Java多線程的創(chuàng)建方式

4.通過線程池方式創(chuàng)建線程

創(chuàng)建一個類實現(xiàn)Runnable或者Callable接口,并重寫對應方法

Java多線程的創(chuàng)建方式

創(chuàng)建一個線程池對象,并執(zhí)行execute方法啟動線程

Java多線程的創(chuàng)建方式

備注:可以通過線程池方式管理線程個數(shù)等配置信息

Java多線程的創(chuàng)建方式

幾種創(chuàng)建方式想必大家都已了解,但在實際開發(fā)中大多數(shù)都是以線程池來操作線程的;

線程池優(yōu)勢:提升響應速度,提高資源重用率,便于管理

線程的生命周期

Java多線程的創(chuàng)建方式

到此,關于“Java多線程的創(chuàng)建方式”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI