-
什么是线程池
线程池就是java程序中统一调度和保存线程的容器对象 -
为什么需要
使用线程池可以避免反复创建和销毁线程,从而降低资源的浪费,提高运行效率。同时约束线程出现的数量
/**
* 线程池的主要作用
* 1. 能够宠用
* 2. 控制线程数量,约束能源消耗
*/
public class ThreadPoolDemo {
public static void main(String[] args) {
//实例化线程池的对象
ExecutorService threadPool = Executors.newFixedThreadPool(2);
for (int i = 0;i<5;i++){
Runnable r = new Runnable() {
@Override
public void run() {
//获得当前线程
Thread t = Thread.currentThread();
System.out.println(t.getName()+"开始执行");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(t.getName()+"结束了");
}
};
threadPool.execute(r);
System.out.println("任务交给了线程池");
}
//关闭线程池
threadPool.shutdown();
System.out.println("线程池已经关闭");
}
}