通过java实现创建线程池
时间: 2023-01-31 16:24:05 浏览: 111
一个完整的线程池的实例
要创建一个线程池,您可以使用 `java.util.concurrent.Executors` 类的静态工厂方法之一。
例如,要创建一个固定大小的线程池,您可以使用 `Executors.newFixedThreadPool` 方法:
```
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
// 创建一个可重用固定线程数的线程池
ExecutorService pool = Executors.newFixedThreadPool(2);
// 创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
Thread t1 = new MyThread();
Thread t2 = new MyThread();
Thread t3 = new MyThread();
Thread t4 = new MyThread();
Thread t5 = new MyThread();
// 将线程放入池中进行执行
pool.execute(t1);
pool.execute(t2);
pool.execute(t3);
pool.execute(t4);
pool.execute(t5);
// 关闭线程池
pool.shutdown();
```
还有其他几种常用的创建线程池的方法:
- `Executors.newCachedThreadPool`:创建一个可缓存的线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
- `Executors.newSingleThreadExecutor`:创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
您也可以使用 `java.util.concurrent.ThreadPoolExecutor` 类直接创建
阅读全文