PriorityBlockingQueue:一个具有优先级的无限阻塞队列。
maximumPoolSize(线程池最大大小):线程池允许创建的最大线程数。...,通过 future 的 get 方法来获取返回
值, get 方法会阻塞住直到任务完成,而使用 get(long timeout, TimeUnit unit)
方法则会阻塞一段时间后立即返回,这时有可能任务没有执行完...只是将线程池的状
态设置成 SHUTDOWN 状态,然后中断所有没有正在执行任务的线程。...= RUNNING || poolSize == 0)
ensureQueuedTaskHandled(command);
}
//如果线程池不处于运行中或任务无法放入队列,并且当前线程数量小于最
大允许的线程数量...reject(command); // is shutdown or saturated
}
}
工作线程: 线程池创建线程时,会将线程封装成工作线程 Worker,Worker 在执
行完任务后,还会无限循环获取工作队列里的任务来执行