Java Executor併發框架(四)建立執行緒池的核心引數的解釋
阿新 • • 發佈:2019-01-24
private final BlockingQueue<Runnable> workQueue; // 任務阻塞佇列 private final ReentrantLock mainLock = new ReentrantLock(); // 互斥鎖 private final HashSet<Worker> workers = new HashSet<Worker>();// 執行緒集合.一個Worker對應一個執行緒 private final Condition termination = mainLock.newCondition();// 終止條件 private int largestPoolSize; // 執行緒池中執行緒數量曾經達到過的最大值 private long completedTaskCount; // 已完成任務數量 private volatile ThreadFactory threadFactory; // ThreadFactory物件,用於建立執行緒。 private volatile RejectedExecutionHandler handler;// 拒絕策略的處理控制代碼 private volatile long keepAliveTime; // 執行緒池維護執行緒所允許的空閒時間 private volatile boolean allowCoreThreadTimeOut;//是否允許核心執行緒也會timeout,預設是false private volatile int corePoolSize; // 執行緒池維護執行緒的最小數量,哪怕是空閒的 private volatile int maximumPoolSize; // 執行緒池維護的最大執行緒數量
其中有幾個重要的規則需要說明一下: