×

spring boot

SpringBoot 实现异步调用@Async | 以及使用@Async注解可能会导致的问题

百度用户75525 百度用户75525 发表于2024-06-18 浏览5840 评论0
首先我们来看看在Spring中为什么要使用异步编程,它能解决什么问题? 为什么要用异步框架,它解决什么问题? 在SpringBoot的日常开发中,一般都是同步调用的。但实际中有很多场景非常适合使用异步来处理,如:注册新用户,送100个积分;或下单成功,发送push消息等等。 就拿注册新用户这个用例来说,为什么要异步处理? 第一个原因:容错性、健壮性,如果送积分出现异常,不能因为送积分而导致用户注册失败;因为用户注册是主要功能,送积分是次要功能,即使送积分异常也要提示用户注册

spring boot

SpringBoot开启异步多线程(springboot 异步多线程)

话说很安逸 话说很安逸 发表于2024-05-30 浏览4478 评论0
前言:         SpringBoot 的异步多线程需要从 java 的多线程基础说起,可以参考 java 多线程实现的三种方式区别。SpringBoot 在此基础上进行了多次封装,所以使用起来非常方便。 一、核心参数说明         ThreadPoolExecutor 是 java 的核心线程池类;Spring 对 ThreadPoolExecutor 进行二次封装形成了 ThreadPoolTaskExecutor,其中几个核心参数除了名字略有改动,核心含义没变,下面说

spring

【Java并发编程】ThreadPoolTaskExecutor线程池的简单应用

无理 无理 发表于2024-05-29 浏览6345 评论0
Java JDK中提供了线程池类ThreadPoolExecutor,但在实际开发中多使用SpringBoot来开发,Spring默认也是自带了一个线程池方便我们开发,它就是ThreadPoolTaskExecutor;翻看了好多讲ThreadPoolTaskExecutor的文章,这些文章多从原理和配置来进行介绍,但是实际写代码的时候还要考虑怎么设计使用的问题,这对于老手来说可能没什么,但是对于刚开始使用的新手来说就有可能一头雾水。 下面我就从我实际开发过程中使用的方式来介绍。 1.设计思

spring boot

SpringBoot 自定义线程池

qq_atveogbd qq_atveogbd 发表于2024-05-27 浏览8261 评论0
自定义线程池有2种方法: 第一种:是自定义线程池,使用时指定线程池名称,执行异步任务。 第二种:重写spring默认线程池,然后使用自己重写后的线程池,执行异步任务。 一、自定义线程池 1. yml配置 # 线程池配置参数 task: pool: corePoolSize: 10 # 设置核心线程数 maxPoolSize: 20 # 设置最大线程数 keepAliveTime: 300 # 设置空闲线程存活时间(秒) queue