併發程式設計(五)Java中常用的執行緒池方法總結

2021-08-21 06:25:03 字數 1134 閱讀 5424

目錄

1.1executors的方法api

1.2常用方法說明

1.3建立方法

1.4常用的方法為例

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

②newfixedthreadpool(n)

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

③newcachedthreadpool(推薦使用)

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

④ newschedulethreadpool

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

比較重要的幾個類:

executorservice

真正的執行緒池介面。

scheduledexecutorservice

能和timer/timertask類似,解決那些需要

任務重複執行的問題。

threadpoolexecutor

executorservice

的預設實現。

scheduledthreadpoolexecutor

繼承threadpoolexecutor的scheduledexecutorservice

介面實現,週期性任務排程的類實現。

executorservicepool = executors.newsinglethreadexecutor();

public staticexecutorservice newcachedthreadpool()

不難發現者就是乙個工程方法建立了threadpoolexecutor()

指點unnabletaskqueue為synchronousqueue

Java執行緒中常用的方法

當執行緒呼叫yield方法後,執行緒即從執行狀態變為可執行狀態,將cpu的執行權讓給同級別的執行緒 讓出cpu執行權之後,又同別的執行緒共同爭奪cpu的執行權。可能釋放了cpu執行權之後 又搶到了 同時多執行緒之前是搶占cpu的,所以從執行結果上很難看出是否yield方法起了作用 public cl...

五 併發程式設計 執行緒事件

事件物件管理乙個內部標誌,通過set 方法將其設定為true,並使用clear 方法將其設定為false。wait 方法阻塞,直到標誌為true。該標誌初始為false。方法 is set 當且僅當內部標誌為true時返回true。set 將內部標誌設定為true。所有等待它成為true的執行緒都被...

java併發程式設計 執行緒封閉

執行緒封閉有三種方式 ad hoc執行緒封閉 棧封閉 threadlocal類 其中ad hoc執行緒封閉一般由程式設計師自己實現,很少用,暫不介紹。將物件封閉在區域性變數中,只有區域性變數才能訪問,保證執行緒安全。下面我們來看一段簡單的 public class animals return nu...