JDK1.5之后提供了一个工厂类用于创建线程池,这个工厂类即是Executors类,它提供一个静态方法用于创建线程池。
static ExecutorService newFixedThreadPool(int nThreads)
该静态方法返回一个ExecutorServie接口的实现类对象,当然,我们可以使用ExecutorService接收(面向接口编程)。
这个接口的实现类对象提供了获取线程并调用start(),执行线程任务的方法。
submit(Runnable task)提交一个Runnable任务用于执行
还提供销毁线程池的方法shutdown(),不过不建议执行。
具体的使用步骤:
1.使用线程池的工厂类Executors的newFixedThreadPool方法生产一个指定线程数量的线程池。
ExecutorService es = Executors.newFixedThreadPool(2);
2.创建一个类,实现Runnable接口,重写run方法并设置线程任务。
public class ThreadPoolR implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"创建了新的一个线程");
}
}
3.调用ExecutorService的submit方法,传递线程任务,开启线程,执行run方法。
es.submit(new ThreadPoolR());
4.调用ExecutorService中的方法shutdown销毁线程池(不建议执行)
es.shutdown();