线程池:
如果并发的线程数量很多,并且每个线程的执行时间很短,这样频繁的创建线程就会降
低系统效率。
线程池:容纳多个线程的容器,其中的线程可以反复使用。
线程池的使用。
线程池:JDK1.5之后提供。
java.util.concurrent.Executors :线程池的工厂类,用来生成线程池。
Executors类中的静态方法:
static ExecutorService newFixedThreadPool(int nThreads) 创建一个可重用固定线程的线程池
参数:线程数量。 返回值:ExecutorService接口,返回的是ExecutorService接口的实现类对象
我们可以使用ExecutorService接口接收(面向接口编程)
java.util.concurrent.ExecutorService : 线程池接口。
用来从线程池中获取线程,调用start方法,执行线程任务。
submit(Runnable task) 提交一个Runnable 任务用于执行。
线程池使用步骤:
1、Executors中的 newFixedThreadPool()生产一个指定线程数量的线程池。
2、创建一个类,实现Runnable接口重写run(),设置线程任务。
3、调用ExecutorService 中的 submit,传递线程任务(实现类),开启线程,执行run();
public class main { public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(2); es.submit(new MyThread()); es.submit(new MyThread()); } }