Springboot整合异步任务

不念不忘少年蓝@ 2023-06-27 12:37 117阅读 0赞

为什么要使用异步

程序在访问耗时任务(比如发送邮件)或者其他接口的时候,不想程序一直卡在耗时任务上。让程序并行,就可以采用多线程实现并行

演示同步调用

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0NDkxNTA4_size_16_color_FFFFFF_t_70

使用异步:Springboot提供@Async注解让耗时操作另外开启一个线程

  1. @Service
  2. public class TestService {
  3. @Async//开启一个新的线程执行当前方法
  4. public void hello(){
  5. try {
  6. Thread.sleep(3000);
  7. } catch (InterruptedException e) {
  8. e.printStackTrace();
  9. }
  10. System.out.println("hello java");
  11. }
  12. }

最后别忘了在启动类上加上@EnableAsync注解告诉boot启动异步功能

当然,我们不再启动类上加@EnableAsync,也可以自己通过配置类的方式自定义异步功能,代码如下

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0NDkxNTA4_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0NDkxNTA4_size_16_color_FFFFFF_t_70 2

发表评论

表情:
评论列表 (有 0 条评论,117人围观)

还没有评论,来说两句吧...

相关阅读

    相关 springboot异步任务

    有时候,前端可能提交了一个耗时任务,如果后端接收到请求后,直接执行该耗时任务,那么前端需要等待很久一段时间才能接受到响应。如果该耗时任务是通过浏览器直接进行请求,那么浏览器页面

    相关 SpringBoot——异步任务

    异步任务在实际开发中经常会用到,我们通常将发邮件,推送等相对比较耗时的操作都是异步执行。大多数情况我们都是使用消息队列之类的方案解决。现在有一个简单的异步方案。 只需要两个步