執行緒池用法

2021-08-17 05:26:36 字數 911 閱讀 2965

1.初識執行緒池:

根據系統自身的環境情況,有效的限制執行執行緒的數量,使得執行效果達到最佳。執行緒主要是通過控制執行的執行緒的數量,超出數量的執行緒排隊等候,等待有任務執行完畢,再從佇列最前面取出任務執行。

2.執行緒池作用:

減少建立和銷毀執行緒的次數,每個工作執行緒可以多次使用

可根據系統情況調整執行的執行緒數量,防止消耗過多記憶體

3.使用

executorservice:執行緒池介面

executorservice pool = executors.常見執行緒

eg:executorservice pool = executors.newsinglethreadexecutor();

4.常見執行緒池

①newsinglethreadexecutor

單個執行緒的執行緒池,即執行緒池中每次只有乙個執行緒工作,單執行緒序列執行任務

②newfixedthreadexecutor(n)

固定數量的執行緒池,沒提交乙個任務就是乙個執行緒,直到達到執行緒池的最大數量,然後後面進入等待佇列直到前面的任務完成才繼續執行

③newcachethreadexecutor(推薦使用)

可快取執行緒池,當執行緒池大小超過了處理任務所需的執行緒,那麼就會**部分空閒(一般是60秒無執行)的執行緒,當有任務來時,又智慧型的新增新執行緒來執行。

④newschedulethreadexecutor

大小無限制的執行緒池,支援定時和週期性的執行執行緒

executorservice executorservice=executors.newfixedthreadpool(5); // 建立executorservice 連線池建立固定的10個初始執行緒

executorservice.execute(new runnable() catch (exception e)

}});

執行緒池的用法及配置

1.直接掉用 threadpooltaskexecutor pooltaskexecutor newthreadpooltaskexecutor 執行緒池所使用的緩衝佇列 pooltaskexecutor.setqueuecapacity 200 執行緒池維護執行緒的最少數量 pooltaskexe...

執行緒 執行緒池

執行緒池是一種多執行緒處理形式,處理過程中將任務新增到佇列,然後在建立執行緒後執行,主要實現 建立執行緒和管理執行緒,並且給執行緒分配任務。執行緒池中的執行緒是併發執行的。乙個比較簡單的執行緒池至少應包含執行緒池管理器 工作執行緒 任務列隊 任務介面等部分。其中執行緒池管理器的作用是建立 銷毀並管理...

執行緒 執行緒池

乙個簡單執行緒的建立和銷毀如下 與程序程序相比,執行緒是一種輕量級的工具,但是輕量並不代表沒有,它的建立和關閉依然需要花費時間,如果建立和銷毀的時間還大於執行緒本身完成的工作,那就會得不償失,甚至會造成out of memory。即使沒有,大量的執行緒 也會給gc帶來巨大的壓力。為了解決這樣的問題,...