Java 线程池
线程池(懒汉模式)
管理线程的一套解决方案,主要作用:
- 控制线程数量
线程数量过多会导致过多的资源消耗,并且会导致CPU过度切换降低整体并发性能 - 重用线程
线程不应当随着任务的声明周期一致,频繁的创建和销毁线程也会给系统带来额外的开销
// 创建固定大小的线程池
ExcutorService threadPool = Executors.newFixedThreadPool(int num); // 创建线程池内最大num个线程同时执行
// 创建线程
// 开始全部将线程加入线程池
// 执行num个线程同时执行
for(int i=0;i<5;i++){
Runnable r = new Runnable(){
public void run(){
try{
Thread t = Thread.currentThread();
System.out.println(t.getName());
Thread.sleep(5000);
System.out.println(t.getName());
} catch (Exception e) {
e.printStackTrace();
}
}
};
threadPool.execute(r);
}
threadPool.shutdown(); // -> 所有线程执行完成停止线程池
threadPool.shutdownNow(); // -> 线程池立刻停止