异步任务
在业务开发中,有一些业务流程耗时会比较长,这样会使前端发送请求后一直等待响应,但是有一些业务逻辑不需要有很强的及时性,例如发短信,发邮件等等,这些业务逻辑由于要进行网络通信,耗时比较长,却不需要在真正完成业务逻辑之后才响应给前端,对于这种业务场景我们可以使用异步任务机制,将响应立即返回给前端,然后开启异步线程执行慢业务逻辑,这样会大大提升用户体验
使用多线程的方式可以实现异步的功能,但是线程的编写比较繁琐,Spring Boot帮我们封装了异步任务的功能,让我们可以简单地实现异步任务
首先我们来模拟一个慢业务的常规处理过程,编写一个业务类,在业务方法的执行过程中令线程阻塞3秒
@Slf4j
@Service
public class MyServiceImpl implements MyService {
@Override
public void slowBiz() {
log.info("开始业务逻辑");
try {
Thread.sleep(3000L