Springboot任务之异步任务的使用详解

02: 定时任务

03: 邮件任务

一、SpringBoot–异步任务1.1 什么是同步和异步 同步是阻塞模式,异步是非阻塞模式。 同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会—直等待下去,知道收到返回信息才继续执行下去 异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回式系统会通知进程进行处理,这样可以提高执行的效率。1.2 Java模拟一个异步请求(线程休眠)

AsyncService.java

package com.tian.asyncdemo.service;import org.springframework.stereotype.Service;@Servicepublic class AsyncService {    public void hello() {        try {            System.out.println("数据正在处理");            Thread.sleep(3000);            System.out.println("数据处理完成");        } catch (InterruptedException e) {            e.printStackTrace();        }    }}

AsyncController.java

package com.tian.asyncdemo.controller;import com.tian.asyncdemo.service.AsyncService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * ClassName: AsyncController * Description: * * @author Administrator * @date 2021/6/6 19:48 */@RestControllerpublic class AsyncController {    @Autowired    AsyncService asyncService;    @RequestMapping("/hello")    public String hello() {        asyncService.hello();        return "OK";    }}

运行结果:

1.3 使用异步

在Service的方法中使用@Async说这是一个异步方法,并在主入口上使用@EnableAsync开启异步支持

AsyncService.java

@Servicepublic class AsyncService {    @Async    public void hello() {        try {            System.out.println("数据正在处理");            Thread.sleep(3000);            System.out.println("数据处理完成");        } catch (InterruptedException e) {            e.printStackTrace();        }    }}

主入口上使用@EnableAsync开启异步支持

再次测试:

到此这篇关于Springboot任务之异步任务的使用详解的文章就介绍到这了,更多相关SpringBoot异步任务内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

每一个成功者都有一个开始。勇于开始,才能找到成功的路。

Springboot任务之异步任务的使用详解

相关文章:

你感兴趣的文章:

标签云: