Executor
Executor 管理多个异步任务的执行,而无需程序员显式地管理线程的生命周期。这里的异步是指多个任务的执行互不干扰,不需要进行同步操作。
Executor框架和其扩展接口ExecutorService为我们提供了管理线程池的一些方法(如shutdown()、shutdownNow() 和submit(Runnable task) )。
Executors
Executors类给我们提供了很多创建线程池的静态方法:
- newCachedThreadPool() //一个任务创建一个线程,必要时可以改变线程池大小
- newFixedThreadPool(int nThreads) //线程数固定的线程池,且不会改变
- newScheduledThreadPool(int corePoolSize) //线程数为1的固定线程池
使用方法
public static void main(String[] args) {
ExecutorService executorService = Executors.newCachedThreadPool();
for (int i = 0; i < 5; i++) {
executorService.execute(new MyRunnable());
}
executorService.shutdown();
}