二、简介
多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力,但频繁的创建线程的开销是很大的,那么如何来减少这部分的开销了,那么就要考虑使用线程池了。线程池就是一个线程的容器,每次只执行额定数量的线程,线程池就是用来管理这些额定数量的线程。
三、涉及线程池的类结构图
其中供我们使用的,主要是ThreadPoolExecutor类。
四、如何创建线程池
我们创建线程池一般有以下几种方法:
1、使用Executors工厂类
Executors主要提供了下面几种创建线程池的方法:
下面来看下使用示例:
1)newFixedThreadPool(固定大小的线程池)
public class FixedThreadPool { public static void main(String[] args) { ExecutorService pool = Executors.newFixedThreadPool(5);// 创建一个固定大小为5的线程池 for (int i = 0; i < 10; i++) { pool.submit(new MyThread()); } pool.shutdown(); } } public class MyThread extends Thread { @Override public void run() { System.out.println(Thread.currentThread().getName() + "正在执行。。。"); } }