第一种: FixedThreadPool
优点:线程量固定,都是核心线程,所以可以更快的响应
使用案例:
Runnable runnable = new Runnable() {第二种 : CachedThreadPool
@Override
public void run() {
}
};
private void demo(){
//固定线程数量,都是核心线程,能更快响应
ExecutorService executorService = Executors.newFixedThreadPool(4);
executorService.execute(runnable);
}
特点:线程数量不确定,只有非核心线程,线程有超时机制,比较适合大量耗时较少的任务,几乎不占用资源
private void cache(){第三种: ScheduledThreadPool
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(runnable);
}
特点 : 核心线程数量固定,非核心线程可被回收,数量没有限制,这类线程池主要用于执行定时任务
ExecutorService executorService = Executors.newScheduledThreadPool(4);第四种: SingleThreadExecutor
executorService.execute(runnable);
特点:只有一个核心线程,保证所有任务按顺序执行
ExecutorService singleExecutorService = Executors.newSingleThreadExecutor();
singleExecutorService.execute(runnable);