简介
- 线程池:是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程的操作,无需要反复创建线程而消耗资源
- 线程池:降低资源消耗,提高线程速度,提高线程可管理性
public class Demo01ThreadPool {
public static void main(String[] args) {
//1、使用线程池方法生产一个指定线程数量的线程池
ExecutorService es = Executors.newFixedThreadPool(2);
//3、调用submit方法,传递线程任务,开启线程,执行run方法
es.submit(new RunnableImpl());
//线程池会一直开启,使用完之后的线程会归还给线程池,线程还可以继续使用
es.submit(new RunnableImpl());
es.submit(new RunnableImpl());
es.submit(new RunnableImpl());
//销毁线程(不建议执行)
es.shutdown();
//抛出异常,线程池都没了,就不能再获取线程
es.submit(new RunnableImpl());
}
}
/**
* 2、 创建一个类实现Runnable接口,重写run方法,设置线程任务
* */
public class RunnableImpl implements Runnable{
@Override
public void run() {
System.out.println(Thread.currentThread().getName() + "创建了一个新的线程");
}
}