spring自带线程池+6种常见线程池的小白理解


一种spring自带线程池
springBoot自带执行器:ThreadPoolTaskExecutor
使用方法:
    config
        类上:添加注解@EnableAsync
        方法上:@Bean 
    service层
        方法上:@Async("asyncServiceExecutor") 即可

六种常见的线程池:

1、FixedThreadPool;
    有活了雇一个人,最多雇10个人,轮流搬箱子,没活了就呆着,日工

2、CachedThreadPool;
    有个总管,来活了,指派给一个人,如果没有人就雇人后再指派,没活了( 60 秒后)就辞退,再来活了再招,分钟工

3、ScheduledThreadPool;
    0、ScheduledExecutorService service = Executors.newScheduledThreadPool(10);

    1、service.schedule(new Task(), 10, TimeUnit.SECONDS);
        延迟10秒执行一次。
        预约1天后安排一个人干活,什么时候干完什么时候走人,
        包工
        
    2、service.scheduleAtFixedRate(new Task(), 10, 10, TimeUnit.SECONDS);
        延迟10秒执行一次,后期每10秒执行一次。
        预约1天后安排一个人干活,以后每小时安排个活,
        长期工,明天入职后,不管死活入职后每间隔小时都安排任务
    
    3、service.scheduleWithFixedDelay(new Task(), 10, 10, TimeUnit.SECONDS);
        延迟10秒执行一次,执行完成后每10秒再执行一次。
        预约1天后安排一个人干活,干完活以后10秒再安排个活。
        国企,明天入职后,每次完成任务后休息1个小时再安排新任务
    
4、SingleThreadExecutor;
    垄断,关系户,不允许共同工作,有活了一个人慢慢干
    
5、SingleThreadScheduledExecutor;
    类似于垄断的工地3
    
6、ForkJoinPool;JDK 7 
    1、队列任务分裂n个任务处理,再从n中取,n个任务处理完成后再合并完成一个线程的任务
    2、线程之间互相帮助,每个线程的n个任务存放于双端队列 deque,
    双端队列很好地平衡了各线程的负载
    甲乙两个民工吃饭
    每个人吃(n个任务)一个馒头、4个菜、一个鸡腿
    甲刚吃馒头,乙已经吃完了,偷了甲的鸡腿

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot中的线程池主要是通过使用ThreadPoolTaskExecutor来实现的。ThreadPoolTaskExecutor是Spring基于java本身的线程池ThreadPoolExecutor做的二次封装,主要目的是为了在Spring框架中更方便地使用线程池。它是Spring中默认的线程池。 在Spring Boot中,我们可以使用@Async注解来开启异步任务,并通过@Async("pool")来指定线程池。如果没有指定线程池Spring将使用默认的线程池。另外,我们可以根据需求自定义线程池来处理任务。 配置Spring Boot中的线程池可以通过配置文件的形式实现。可以使用ThreadPoolTaskExecutor将线程池的bean注入到IOC容器中,并使用配置文件进行自动配置。在配置文件中,我们可以设置核心线程数、最大线程数、空闲线程存活时间、线程队列数量等参数。 总的来说,Spring Boot提供了方便且灵活的线程池配置方式,可以根据需求来选择默认的线程池或自定义线程池来处理异步任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Springboot自带线程池](https://blog.csdn.net/weixin_45874214/article/details/130446654)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值