多執行緒4種實現

2022-09-11 02:18:11 字數 859 閱讀 3868

1,繼承thread類

2,實現runnable介面(無返回值)

3,實現callable介面(有返回值;依賴futuretask類)

4,執行緒池(依賴threadpoolexecutor)

五個實現類:

executors.newscheduledthreadpool(1);//了解

executors.newworkstealingpool(1);//j**a8新特性

executorservice threadpool = executors.newfixedthreadpool(5);//一池5個處理執行緒

executorservice threadpool = executors.newfixedthreadpool(1);//一池1個執行緒

executorservice threadpool = executors.newcachedthreadpool();//一池n個執行緒

七大引數:

executorservice threadpool = new threadpoolexecutor(2,

5,1l,

timeunit.seconds,

new linkedblockingqueue<>(3),

executors.defaultthreadfactory(),

new threadpoolexecutor.callerrunspolicy());//

拒絕策略:jdk內建的拒絕策略,abortpolicy;callerrunspolicy;discardpolicy;discardpolicy,均實現rejectedexecutionhandler介面

4 多執行緒之間實現通訊

目錄 知識點1 多執行緒之間如何實現通訊 1 什麼是多執行緒之間通訊?2 多執行緒之間通訊需求 3 實現基本實現 1 共享資源源實體類 2 輸入執行緒資源 3 輸出執行緒 4 執行 5 解決執行緒安全問題 知識點2 wait notify方法 知識點3 wait與sleep區別 知識點4 lock鎖...

多執行緒兩種實現方式

public class testthread1 extends thread public static void main string args 執行結果如下 可見執行緒由cpu隨機排程的。public class testthread2 extends thread override pub...

多執行緒面試 4

執行緒的狀態 從thread的原始碼裡我們可以看到執行緒的狀態一共有如下六種 新建 new 執行緒建立後尚未啟動的執行緒的狀態,即new了乙個執行緒物件但是還沒有呼叫start 方法時處於的狀態.執行runnable 即執行緒物件呼叫了start 方法後的執行緒所處的狀態,包含running和rea...