【Java基礎】:執行緒的三種建立方式對比分析
上篇部落格介紹了建立執行緒的三種方式,那麼這三種方式有什麼不同的地方和相同的地方呢?今天我們就一起簡單聊聊這三種方式的差別在哪裡。
首先,通過繼承Thread類或者實現Runnable、Callable介面都可以實現多執行緒,不過實現Runnable介面與實現Callable介面的方式基本相同,只是Callable介面裡定義的方法有返回值,可以宣告丟擲異常而已。因此可以將實現Runnable介面和實現Callable介面歸為一種方式。這種方式與繼承Thread方式之間的主要差別如下:
1採用實現Runnable和Callable介面得方式建立多執行緒的優缺點
執行緒類只是實現了Runnable介面或者Callable介面,還可以繼承其他類。
在這種方式下,多個執行緒可以共享同一個target物件,所以非常適合多個相同執行緒來處理同一份資源的應用場景,從而可以將CPU、程式碼和資料分開,形成清晰的模型,較好地體現了物件導向的思想。
不好的地方是:程式設計稍顯複雜,如果需要訪問當前執行緒,則必須使用Thread.currentThread()方法。
2採用繼承Thread類的方式建立多執行緒的優缺點:
優勢是,編寫簡單,如果需要訪問當前執行緒,則無須使用Thread.currentThread()方法,直接使用this即可獲得當前執行緒。
劣勢是,因為執行緒類已經繼承了Thread類,所以不能再繼承其他父類了,無法進行功能擴充套件和增強。
綜合考慮,一般進行多執行緒程式開發多使用實現Runnable和Callable介面的方式。相關文章
- Java基礎:執行緒的三種建立方式Java執行緒
- 建立執行緒的三種方式執行緒
- Java併發(三)----建立執行緒的三種方式及檢視程式執行緒Java執行緒
- Java建立多執行緒的四種方式Java執行緒
- 【java】【多執行緒】建立執行緒的兩種常用方式(2)Java執行緒
- Java併發基礎01:揭祕傳統執行緒技術中建立執行緒的兩種方式Java執行緒
- 執行緒建立的四種方式執行緒
- Java 中執行緒池的7種建立方式!Java執行緒
- Java建立多執行緒的幾種方式實現Java執行緒
- Java實現多執行緒的三種方式Java執行緒
- 【Java】執行緒的建立方式Java執行緒
- 執行緒池建立的幾種方式執行緒
- 併發程式設計 建立執行緒的三種方式程式設計執行緒
- java--執行緒池--建立執行緒池的幾種方式與執行緒池操作詳解Java執行緒
- Java多執行緒之—Synchronized方式和CAS方式實現執行緒安全效能對比Java執行緒synchronized
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- 執行緒池的五種狀態及建立執行緒池的幾種方式執行緒
- Java 執行緒基礎Java執行緒
- java建立執行緒池的幾中方式Java執行緒
- Java執行緒池一:執行緒基礎Java執行緒
- java執行緒實現的三種方式以及靜態代理Java執行緒
- 建立執行緒的方式三:實現Callable介面執行緒
- Java建立多執行緒的一種方法Java執行緒
- 多執行緒系列(三):執行緒池基礎執行緒
- jdk建立執行緒的方式JDK執行緒
- java - 多執行緒基礎Java執行緒
- Java 多執行緒基礎(四)執行緒安全Java執行緒
- Springboot中使用執行緒池的三種方式Spring Boot執行緒
- Java之自定義執行緒的2種方式Java執行緒
- 【對線面試官】Java多執行緒基礎面試Java執行緒
- Java 多執行緒基礎(八)執行緒讓步Java執行緒
- Java 四種執行緒池的用法分析Java執行緒
- 多執行緒的建立 兩種方式以及使用建議執行緒
- [Java基礎]虛擬執行緒Java執行緒
- Java多執行緒-基礎篇Java執行緒
- Java 基礎(十四)執行緒——下Java執行緒
- Java基礎之執行緒安全Java執行緒
- Java 多執行緒基礎 - CyclicBarrierJava執行緒
- 執行緒池建立方式執行緒