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