Executors.newCachedThreadPool();创建一个具有缓存功能的线程池,系统根据需要创建线程,这些线程将会被缓存在线程池中.
Executors.newFixedThreadPool(int nThreads);创建一个可重用的,具有固定线程数的线程池.
Executors.newSingleThreadExecutor();创建一个只有单线程的线程池,相当于调用newFixedThreadPool(),方法参数传1.
以上三个方法,返回一个ExecutorService对象,该对象代表一个线程池.
Executors.newScheduledThreadPool(int corePoolSize);创建具有指定线程数的线程池,它可以在指定延迟后执行任务,corePoolSize指的是线程池中所保存的线程数.
此方法返回一个ScheduledExecutorService线程池,它是ExecutorService的子类,它可以在指定延迟后执行任务.
使用线程池来执行线程任务的步骤
5.6.1,调用Executor的静态工厂方法创建一个ExecutorService对象,该对象代表一个线程池;
5.6.2,创建Runnable实现类的实例,作为线程执行任务;
5.6.3,调用ExecutorService对象的submit()方法来提交Runnable实例.
5.6.4,当不想提交任何任务时,调用ExeccutorService对象的shutdown();来关闭线程池.