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...