執行緒池的簡便記憶方法

2022-07-23 03:42:12 字數 560 閱讀 6846

假如有乙個工廠,工廠裡面有10個工人,每個工人同時只能做一件任務。

因此只要當10個工人中有工人是空閒的,來了任務就分配給空閒的工人做;

當10個工人都有任務在做時,如果還來了任務,就把任務進行排隊等待;

如果說新任務數目增長的速度遠遠大於工人做任務的速度,那麼此時工廠主管可能會想補救措施,比如重新招4個臨時工人進來;

然後就將任務也分配給這4個臨時工人做;

如果說著14個工人做任務的速度還是不夠,此時工廠主管可能就要考慮不再接收新的任務或者拋棄前面的一些任務了。

當這14個工人當中有人空閒時,而新任務增長的速度又比較緩慢,工廠主管可能就考慮辭掉

4個臨時工了,只保持原來的

10個工人,畢竟請額外的工人是要花錢的。

這個例子中的corepoolsize就是

10,而

maximumpoolsize

就是14

(10+4

)。也就是說corepoolsize就是執行緒池大小,

maximumpoolsize

在我看來是執行緒池的一種補救措施,即任務量突然過大時的一種補救措施。

執行緒池的構造方法和執行緒池池工作佇列

執行緒池的構造方法 threadpoolexecutor int corepoolsize 核心執行緒數 int maximumpoolsize 最大執行緒數 long keepalivetime 空閒執行緒休眠時間 timeuint uint 時間單元 blockingqueueworkqueue...

執行緒及執行緒池的幾種建立方法

jdk8提供了五種建立執行緒池的方法 1.建立乙個定長線程池,可控制線程最大併發數,超出的執行緒會在佇列中等待。public static executorservice newfixedthreadpool int nthreads 特點 2.jdk8新增 會根據所需的併發數來動態建立和關閉執行緒...

python 執行緒池 Python的執行緒池

usr bin env python coding utf 8 concurrent 用於執行緒池和程序池程式設計而且更加容易,在python3.2中才有。import sys from concurrent.futures import threadpoolexecutor,as complete...