springboot线程池配置_SpringBoot多线程,线程池讲解

本文详细介绍了SpringBoot默认线程池配置,包括定时任务默认线程,解析了Java线程池的核心线程数与最大线程数的区别,并探讨了线程池的饱和策略。同时,讲解了如何在SpringBoot中实现线程异步执行,包括默认异步线程池的使用和自定义线程池的方法。最后总结了线程池配置与异步执行的相关要点。
摘要由CSDN通过智能技术生成

一、默认线程

当我们开启一个SpringBoot的项目,我们并未设置任何和线程相关的操作,但是我们的程序还是可以执行多个请求。甚至说绝大多数的项目,我们不需要对线程这块做任何操作。 

但是如果是单线程的话,它显然满足不了我们系统的需求,所有我们有必要了解一下,它默认的线程情况。

1-1、测试默认线程池
import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController {
        @GetMapping("/test")    public String fun(){
            System.out.println(Thread.currentThread().getName());        return "success";    }}

打印结果如下:我请求了14次

http-nio-8888-exec-1http-nio-8888-exec-2http-nio-8888-exec-3http-nio-8888-exec-4http-nio-8888-exec-5http-nio-8888-exec-8http-nio-8888-exec-7http-nio-8888-exec-6http-nio-8888-exec-9http-nio-8888-exec-10http-nio-8888-exec-1http-nio-8888-exec-2http-nio-8888-exec-3http-nio-8888-exec-4

可以看到它默认是有10个线程去执行我们的任务的。这个其实就是tomcat的默认线程我们可以在yml/properties里面进行配置

server:  port: 8888  tomcat:    min-spare-threads: 10    max-threads: 200

我们可以全局搜索一下这个min-spare-threads,这个json就是Sping的一些默认配置

可以看到里面配置了tomcat默认的线程数是10,最大线程数是200,而对于一般项目来说,这两个数字都已经够用了

156abe219c3300d2b1d95ae9ebcef6dc.png

1-2、定时任务默认线程
import org.springfr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值