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

网友投稿 924 2023-01-12

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

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

02: 定时任务

03: 邮件任务

一、SpringBoot--异步任务

1.1 什么是同步和异步

同步是阻塞模式,异步是非阻塞模式。

同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会—直等待下去,知道收到返回信息才继续执行下去

异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回式系统会通知进程进行处理,这样可以提高执行的效率。

1.2 java模拟一个异步请求(线程休眠)

AsyncService.java

package com.tian.asyncdemo.service;

import org.springframework.stereotype.Service;

@Service

public 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;

/**

* ClassNahttp://me: AsyncController

* Description:

*

* @author Administrator

* @date 2021/6/6 19:48

*/

@RestController

public class AsyncController {

@Autowired

AsyncService asyncService;

@RequestMapping("/hello")

public String hello() {

asyncServirHBhkQKgoPce.hello();

return "OK";

}

}

运行结果:

1.3 使用异步

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

AsyncService.java

@Service

public class AsyncService {

@Async

public void hello() {

try {

System.out.println("数据正在处理");

Thread.sleep(3000);

System.out.println("数据处理完成");

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

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

再次测试:

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:企业app开发培训班(app软件培训)
下一篇:小程序生态监测记录系统(小程序生态监测记录系统怎么查)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~