springboot实现异步任务

网友投稿 286 2022-10-22


springboot实现异步任务

本文实例为大家分享了springboot实现异步任务的具体代码,供大家参考,具体内容如下

1.什么异步任务

同步:一定要等任务执行完了,得到结果,才执行下一个任务。

异步:不等任务执行完,直接执行下一个任务。

2.异步任务使用场景

在许多网站中,都会有发送邮件验证邮箱功能,执行该任务时,需要较长的时间,此时为了更好的用户体验,前端可以先返回完成的信息,后台去执行任务。

3.异步任务的实现步骤

首先模拟一个网站跳转的过程,假设某一个线程执行任务时需要5秒,结束以后才会进行下一步操作,我们令线程休眠五秒,然后通过controller进行页面跳转

service

package com.kuang.service;

import org.springframework.scheduling.annotation.Async;

import org.springframework.stereotype.Service;

@Service

public class AsyncService {

@Async

public void hello(){

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println("数据正在传送!");

}

}

controller

package com.kuang.controller;

import com.kuang.service.AsyncService;

import org.springframework.beans.factory.annotation.Autowired;FqiIVGE

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class AsyncController {

@Autowired

AsyncService asyncService;

@RequestMapping("/hello")

public String hello(){

asyncService.hello();

return "OK";

}

}

总结:

SpringBoFqiIVGEot则可以使用更简便的方式来实现异步任务调度。我们只需要在Service层需要多线程处理的方法上加上@Async注解。

然后在主启动类上加上**@EnableAsync**注解来开启异步注解功能即可执行异步任务调度,此时执行可立即跳转然后再执行hello方法控制台来输出“数据正在传送”。


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

上一篇:未成年人权益保护这场战斗,不应该只有QQ
下一篇:光速IPO后:何时盈利成奇安信踏入资本市场的头等大事
相关文章

 发表评论

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