线程池——线程池创建的5种方法

本文详细介绍了Java中创建线程池的五种方法:newFixedThreadPool、newSingleThreadExecutor、newCachedThreadPool、newSingleThreadScheduledExecutor和newScheduledThreadPool,分别讲解了它们的工作原理和应用场景,并通过银行服务的模拟示例加以说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值