一篇文中細(xì)看Java多線程的創(chuàng)建方式
前言
Java現(xiàn)在有四種創(chuàng)建的方式:繼承Threa類、實(shí)現(xiàn)Runnable接口、實(shí)現(xiàn)Callable接口、線程池
Thread、Runnable都在java.lang包下;Callable、線程池都在java.util.concurrent包下
1.繼承Thread類,重寫run方法
創(chuàng)建一個(gè)類繼承Thread類,并重寫run();因?yàn)閞un()是線程具體執(zhí)行的方法。

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

備注:start()是啟動線程,run()是線程執(zhí)行的業(yè)務(wù)方法
2.實(shí)現(xiàn)Runnable接口,通過參數(shù)方式創(chuàng)建線程
創(chuàng)建一個(gè)類實(shí)現(xiàn)Runnable接口并重寫run()

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

3.實(shí)現(xiàn)Callable接口,通過FutureTask來創(chuàng)建線程
創(chuàng)建一個(gè)類實(shí)現(xiàn)Callable接口,重寫call()call()支持有返回值和拋異常Callable支持泛型

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

備注:FutureTask實(shí)現(xiàn)了Runnable接口;FutureTask.get()可以獲取call()返回值
創(chuàng)建Thread對象,并調(diào)用start方法啟動線程

4.通過線程池方式創(chuàng)建線程
創(chuàng)建一個(gè)類實(shí)現(xiàn)Runnable或者Callable接口,并重寫對應(yīng)方法

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

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

幾種創(chuàng)建方式想必大家都已了解,但在實(shí)際開發(fā)中大多數(shù)都是以線程池來操作線程的;
線程池優(yōu)勢:提升響應(yīng)速度,提高資源重用率,便于管理
線程的生命周期

總結(jié)
到此這篇關(guān)于一篇文中細(xì)看Java多線程的創(chuàng)建方式的文章就介紹到這了,更多相關(guān)Java多線程創(chuàng)建方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java三種獲取redis的連接及redis_String類型演示(適合新手)
這篇文章主要介紹了Java三種獲取redis的連接及redis_String類型演示(適合新手),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
在SpringBoot項(xiàng)目中解決依賴沖突問題的方法
在SpringBoot項(xiàng)目中,依賴沖突是一個(gè)常見的問題,特別是當(dāng)項(xiàng)目引入多個(gè)第三方庫或框架時(shí),依賴沖突可能導(dǎo)致編譯錯誤、運(yùn)行時(shí)異?;虿豢深A(yù)測的行為,本文給大家介紹了如何在SpringBoot項(xiàng)目中解決以來沖突問題的方法,需要的朋友可以參考下2024-01-01
Java利用opencv實(shí)現(xiàn)用字符展示視頻或圖片的方法
這篇文章主要介紹了Java利用opencv實(shí)現(xiàn)用字符展示視頻或圖片的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Java main方法String[]args原理實(shí)例解析
這篇文章主要介紹了Java main方法String[]args原理實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
mybatis-plus-boot-starter包與mybatis-plus-generator的沖突解決
本文主要介紹了mybatis-plus-boot-starter包與mybatis-plus-generator的沖突解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-10-10
詳解Spring中使用xml配置bean的細(xì)節(jié)
本篇文章主要介紹了Spring中使用xml配置bean的細(xì)節(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06

