文章目录
1 newFixedThreadPool 方法
newFixedThreadPool() 方法:该方法返回一个固定线程数量的线程池。该线程池中的线程数量始终不变。当有一个新的任务提交时,线程池中若有空闲线程,则立即执行。若没有,则新的任务会被暂存在一个任务队列中,待有线程空闲时,便处理任务队列中的任务
模拟银行受理人员为人民受理服务
代码演示
public class MyThreadDemo {
public static void main(String[] args) {
ExecutorService executorService = Executors.newFixedThreadPool(5);//银行有五个服务员
//五个服务员为10个人分别处理业务
for (int i=0;i<10;i++){
executorService.execute(()->{
System.out.println(Thread.currentThread().getName()+"正在处理业务");
});
}
}
}
pool-1-thread-1正在处理业务
pool-1-thread-2正在处理业务
pool-1-thread-2正在处理业务
pool-1-thread-2正在处理业务
pool-1-thread-2正在处理业务
pool-1-thread-2正在处理业务
pool-1-thread-5正在处理业务
pool-1-thread-1正在处理业务
pool-1-thread-3正在处理业务
pool-1-thread-4正在处理业务
2 newSingleThreadExcutor方法
newSingleThreadExcutor()方法:该方法返回一个只有一个线程的线程池。若多余一个任务被提交到该线程池,任务会被保存在一个任务队列中, 待线程空闲,按先入先出的顺序执行队列中的任务。
还是模拟银行受理人员为人民受理服务
代码演示
public class