> Executor
> ExecutorService
> Executor
> ExecutorService
> AbstraceExecutorService
> ThreadPoolExecutor
> execute()
> submit()
> invokeAny()
> invokeAll()
> shutdown() -- soft shutdown
> shutdownNow() -- a waiting ExecutorSErvice will cause the JVM to kee running
> Executor
> ExecutorService
> AbstraceExecutorService
> ThreadPoolExecutor
> ScheduledThreadPoolExecutor
> Executor
> ExecutorService
> ScheduledExecutorService
> ScheduledThreadPoolExecutor
This framework first ‘fork’ the given task, processing it, and then ‘join’.
> Executor
> ExecutorService
> AbstraceExecutorService
> ForkJoinPool
> Thread
> ForkJoinWorkerThread
Each of ForkJoinWorkerThread contains double-ended queue (deque), which stores forked tasks.ThreadPoolTaskExecutor
> Executor -- java.util.concurrent
> TaskExecutor -- org.springframework.core.task
> AsyncTaskExecutor
> SchedulingTaskExecutor
> ThreadPoolTaskExecutor
> ThreadFactory -- java.util.concurrent
> CustomizableThreadCreator -- org.springframework.scheduling ...
> CustomizableThreadFactory
> ExecutorConfigurationSupport
> ThreadPoolTaskExecutor
> Executor -- java.util.concurrent
> TaskExecutor -- org.springframework.core.task
> AsyncTaskExecutor
> AsyncListenableTaskExecutor
> ThreadPoolTaskExecutor