线程池监控与管理
Java线程池创建工作线程Worker的流程图
Executor、ExecutorService、ThreadPoolExecutor
-
Executor:
public interface Executor { /** * Executes the given command at some time in the future. The command * may execute in a new thread, in a pooled thread, or in the calling * thread, at the discretion of the <tt>Executor</tt> implementation. * * @param command the runnable task * @throws RejectedExecutionException if this task cannot be * accepted for execution. * @throws NullPointerException if command is null */ void execute(Runnable command); } 源码只有一个 execute 回调接口,执行已提交的 Runnable 任务对象。
-
ExecutorService:
public interface ExecutorService extends Executor An ExecutorService can be shut down, which will cause it to reject new tasks. Two different methods are provided for shutting down an ExecutorService. The shutdown() method will allow previously submitted tasks to execute before terminating, while the shutdownNow() method prevents waiting tasks from starting and attempts to stop currently executing tasks.<