執行緒池的作用及工作過程

2021-09-29 21:52:47 字數 825 閱讀 6157

1. 執行緒池的作用:限制系統中所執行執行緒的數量。

根據系統環境的情況,可以手動或自動設定執行緒數量,達到系統的最佳效果;

執行緒數量過少,會造成資源的浪費,執行緒數量過多,則會造成系統擁擠,執行效率不高;

用執行緒池控制線程數量,使其他執行緒排隊等待。乙個任務執行完畢,再從佇列中取最前面的任務開始執行;

若佇列中沒有等待的程序,執行緒池的這一資源將處於等待狀態;

當系統有新任務需要執行時,若執行緒池中有等待狀態的執行緒,就使用該等待的執行緒開始執行任務,否則,任務將進入等待佇列。

2. 執行緒池的工作過程:

* 執行緒池剛建立時,裡面沒有乙個執行緒。任務佇列是作為引數傳進來的。不過,就算佇列裡面有任務,執行緒池也不會馬上執行它們。

* 當呼叫execute()方法新增乙個任務時,執行緒池會做如下判斷:

如果正在執行的執行緒數量小於corepoolsize,那麼馬上建立執行緒執行這個任務;

如果正在執行的執行緒數量大於或等於corepoolsize,那麼將這個任務放入佇列;

如果這時候佇列滿了,而且正在執行的執行緒數量小於maximumpoolsize,那麼還是要建立非核心執行緒立刻執行這個任務;

如果佇列滿了,而且正在執行的執行緒數量大於或等於maximumpoolsize,那麼執行緒池會丟擲異常:rejectexecutionexception。

* 當乙個執行緒完成任務時,它會從佇列中取下乙個任務來執行;

* 當乙個執行緒無事可做,超過一定的實際按(keepalivetime)時,執行緒池會判斷,如果當前執行的執行緒數大於corepoolsize,那麼這個執行緒就被停掉;

* 所以執行緒池的所有任務完成後,它最終會收縮到corepoolsize的大小。

STP協議作用及工作過程

stp協議 生成樹協議 是乙個二層管理協議,標準為ieee802.1d。ieee 802.1d是最早關於stp的標準,它提供了網路的動態冗餘切換機制。stp協議能在網路設計中部署備份線路,並且保證 在主線路正常工作時,備份線路是關閉的。當主線路出現故障時自動使能備份線路,切換資料流。rstp rap...

STP協議作用及工作過程

stp協議作用及工作過程 stp協議 生成樹協議 是乙個二層管理協議,標準為ieee802.1d。ieee 802.1d是最早關於stp的標準,它提供了網路的動態冗餘切換機制。stp協議能在網路設計中部署備份線路,並且保證 在主線路正常工作時,備份線路是關閉的。當主線路出現故障時自動使能備份線路,切...

ROS 的工作過程及通訊原理

ros可以形象的描述為乙個工廠的執行機制,建立好乙個工作空間 workspace 就像乙個工廠,工廠裡又有好多個生產車間,每個功能包 pkg 看作是乙個生產車間,每個生產車間又有好多任務人在配合,每個節點 node 看作是乙個工人,節點是又是可執行程式的最小單位,工人們之間相互溝通通過訊息 mesa...