20200820 執行緒池的狀態

2021-10-23 13:21:13 字數 725 閱讀 6154

記住,是執行緒池的狀態,不是執行緒狀態。

狀態說明:執行緒池處在running狀態時,能夠接受新任務,以及對已新增的任務進行處理。

狀態切換:執行緒池的初始化狀態是running,換句話說,執行緒池一旦被建立,就處於running狀態,並且執行緒池裡面的數量為0.

狀態說明:執行緒池處在shutdown狀態時,不接受新任務,但能處理已經新增的任務。

狀態切換:呼叫執行緒池的shutdown介面,執行緒池由running——>shutdown

狀態說明:執行緒池處於stop,狀態不接受新任務,不處理已經新增的任務,並且會中斷正在處理的任務。

狀態切換:呼叫執行緒池的shutdownnow()介面,執行緒池由running,shutdown——>stop

狀態切換:當執行緒池在shutdown狀態下,阻塞隊列為空並且執行緒池中執行的任務也為空時,就會由 shutdown -> tidying。

當執行緒池在stop狀態下,執行緒池中執行的任務為空時,就會由stop -> tidying。

狀態說明:執行緒池徹底終止,就變成terminated狀態。

狀態切換:執行緒池處在tidying狀態時,執行完terminated()之後,就會由 tidying -> terminated。

執行緒狀態 執行緒池

1.執行緒狀態變遷 2.為什麼notify notifyall wait要在同步方法或塊中執行 2.1在j a中,所有物件都能夠被作為 監視器monitor 指乙個擁有乙個獨佔鎖,乙個入口佇列和乙個等待佇列的實體entity。所有物件的非同步方法都能夠在任意時刻被任意執行緒呼叫,此時不需要考慮加鎖的...

執行緒池的狀態

running 這是最正常的狀態,接受新的任務,處理等待佇列中的任務。執行緒池的初始化狀態是running。執行緒池被一旦被建立,就處於running狀態,並且執行緒池中的任務數為0。shutdown 不接受新的任務提交,但是會繼續處理等待佇列中的任務。呼叫執行緒池的shutdown 方法時,執行緒...

執行緒池 關於執行緒池的五種狀態

在threadpoolexecutor類中定義了執行緒的五種狀態表示,通過atomicinteger 的高三位來表示執行緒的狀態 private static final int count bits integer.size 3 private static final int running 1...