executor
二、executor 的組成
2、任務的執行;
3、非同步計算的結果;
三、executor 使用
四、executor 主要的類與介面的簡介
2、threadpoolexecutor
3、scheduledthreadpoolexecutor(定時任務類,這裡不討論)
4、future介面和實現future介面的futuretask類,代表非同步結算的結果
5、runnable 和callable介面的實現類
五、executor 主要的類與介面的詳解
threadpoolexecutor通常使用工廠類executors來建立,executors可以建立3種型別的threadpoolexecutor: fixedthreadpool、singlethreadexecutor、cachedthreadpool;
執行execute(),流程如下:
使用無界佇列linkedblockingqueue,影響:
2、singlethreadexecutor,使用單個工作執行緒的executor。
執行execute(),流程如下:
使用無界佇列linkedblockingqueue,與fixedthreadpool一樣的結果。
3、cachedthreadpool,根據需要建立新執行緒的執行緒池。
cachedthreadpool 使用沒有容量的synchronousqueue作為執行緒池的工作佇列,但是maximumpoolsize是無界的。這意味著,如果主線程提交任務的速度高於maximumpool中線程處理任務的速度時,cachedthreadpool會不斷建立新執行緒。極端情況下,cachedthreadpool會因為建立過多執行緒而耗盡cpu和記憶體資源。
總結:futuretask
實現原理
2、至少乙個release操作。這個操作改變aqs的狀態,改變後的狀態可允許乙個或多個阻塞執行緒被解除阻塞。
執行緒池框架executor
eexecutor作為靈活且強大的非同步執行框架,其支援多種不同型別的任務執行策略,提供了一種標準的方法將任務的提交過程和執行過程解耦開發,基於生產者 消費者模式,其提交任務的執行緒相當於生產者,執行任務的執行緒相當於消費者,並用runnable來表示任務,executor的實現還提供了對生命週期的...
Executor框架中的執行緒池
執行緒池 使用執行緒池管理任務,比為每個任務建立執行緒的好處 1 執行緒池裡的執行緒可以復用,減少了執行緒建立和銷毀的資源開支。2 執行緒池裡一般存在一部分執行緒,處理任務時候不必去著急建立執行緒,可以提高響應性。3 合理設定執行緒池裡的執行緒,使伺服器既保持忙碌狀態,又不會因為執行緒過多產生資源競...
JUC 執行緒池 Executor
建立執行緒池可以分為三種方式 1.通過threadpoolexecutor的構造方法,建立threadpoolexecutor的物件,即乙個執行緒池物件 此構造方法,一共7個引數,5個必須引數,2個帶有預設值的引數 詳細後面說 傳送 2.通過executors返回的執行緒池物件 這種方法建立的常用執...