執行緒池 02 Executor框架

2021-10-07 12:42:37 字數 970 閱讀 4782

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返回的執行緒池物件 這種方法建立的常用執...