ThreadPoolDemo.java
public class ThreadPoolDemo {
public static void main(String[] args) {
// 固定线程个数 5 个 一个线程池 5个线程
// ExecutorService threadPool = Executors.newFixedThreadPool(5); // 5 个工作人员 线程
// ExecutorService threadPool = Executors.newSingleThreadExecutor(); // 一线程池就一个线程
ExecutorService threadPool = Executors.newCachedThreadPool(); // 一线程池 可扩容(n)个线程
// 10 个任务需要 5个线程来处理
for (int i = 0; i < 10; i++) {
threadPool.execute(() -> {
System.out.println(Thread.currentThread().getName() + "/ 处理业务");
});
try {
TimeUnit.MICROSECONDS.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
threadPool.shutdown();
}
}