首页/新闻资讯/正文详情

Spring注解--@Async异步执行的方法

发布时间:2026/9/24 16:36:07 来源:云帆数科 栏目:资讯中心
Spring注解--@Async异步执行的方法
原文网址Spring注解--Async异步执行的方法-CSDN博客简介本文介绍Spring的Async的用法。Async是用来异步执行任务的。基础代码正常情况下执行两个任务是这样的Controllerpackage com.knife.example.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; Slf4j Api(tags 测试) RequestMapping(test) RestController public class HelloController { Autowired private HelloService helloService; ApiOperation(测试1) PostMapping(test1) public void test() { helloService.task1(); helloService.task2(); } }Servicepackage com.knife.example.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; Slf4j Component public class HelloService { public void task1() { log.info(开始任务1); long start System.currentTimeMillis(); try { Thread.sleep(3000); } catch (InterruptedException e) { throw new RuntimeException(e); } long end System.currentTimeMillis(); log.info(完成任务1耗时 (end - start) 毫秒); } public void task2() { log.info(开始任务2); long start System.currentTimeMillis(); try { Thread.sleep(3000); } catch (InterruptedException e) { throw new RuntimeException(e); } long end System.currentTimeMillis(); log.info(完成任务2耗时 (end - start) 毫秒); } }它的结果是是顺序执行的。2024-07-07 15:53:00.067 INFO 1044 --- [nio-8080-exec-1] c.knife.example.controller.HelloService : 开始任务1 2024-07-07 15:53:03.067 INFO 1044 --- [nio-8080-exec-1] c.knife.example.controller.HelloService : 完成任务1耗时3000毫秒 2024-07-07 15:53:03.067 INFO 1044 --- [nio-8080-exec-1] c.knife.example.controller.HelloService : 开始任务2 2024-07-07 15:53:06.073 INFO 1044 --- [nio-8080-exec-1] c.knife.example.controller.HelloService : 完成任务2耗时3006毫秒使用异步加快速度假如上边task1和task2是不相关的那完全可以同时运行加快速度下边就用异步来做1.启用异步EnableAsync在启动类上加EnableAsyncpackage com.knife.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableAsync; EnableAsync SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }2.将方法标记为Async为便于维护全文已转移到此网址Spring-Async异步执行的方法 - 自学精灵

相关推荐

使用 AWS SDK for C++ 操作 Amazon CloudWatch:完整示例代码实战指南
使用 AWS SDK for C++ 操作 Amazon CloudWatch:完整示例代码实战指南

使用 AWS SDK for C 操作 Amazon CloudWatch:完整示例代码实战指南 【免费下载链接】aws-doc-sdk-examples Welcome to the AWS Code Examples Repository. This repo contains code examples used in the AWS documentation, AWS SDK Developer Guides, and more. … · 2026/9/24 16:36:01

模型修复踩坑笔记 meshlib
模型修复踩坑笔记 meshlib

模型修复:非流行边:错误开放边:不修复,拆分成对象连接件掉地上了,连接信息丢了。普通完整版(带 viewer,本地预览用)pip install meshlib服务器无头版本(推荐你的 Linux 服… · 2026/9/24 16:36:01

Semi Design Avatar 头像组件完全指南:尺寸、颜色、Slot 扩展与 AvatarGroup 头像组实战
Semi Design Avatar 头像组件完全指南:尺寸、颜色、Slot 扩展与 AvatarGroup 头像组实战

前端UI组件设计系统 【免费下载链接】semi-design 🚀A modern, comprehensive, flexible design system and React UI library, AI-friendly built-in.🎨Provide 3000 Design Tokens, easy to build your design system. Make Semi Design to Any Design… · 2026/9/24 16:35:55

OpenJarvis Showcase 投稿指南:面向结果优先的本地 AI 用例社区与 Markdown 条目规范
OpenJarvis Showcase 投稿指南:面向结果优先的本地 AI 用例社区与 Markdown 条目规范

【免费下载链接】OpenJarvis Personal AI, On Personal Devices 项目地址: https://gitcode.com/gh_mirrors/op/OpenJarvis 点击查看 免费下载 OpenJarvis 是一个运行在个人设备上的个人 AI 项目(Personal AI, On Personal Devices)&#xf… · 2026/9/24 17:05:39

PHPStan 错误 requireImplements.onEnum 详解:`@phpstan-require-implements` 误用于枚举(enum)的修复方案
PHPStan 错误 requireImplements.onEnum 详解:`@phpstan-require-implements` 误用于枚举(enum)的修复方案

开发工具代码质量静态分析 【免费下载链接】phpstan PHP Static Analysis Tool - discover bugs in your code without running it! 项目地址: https://gitcode.com/gh_mirrors/ph/phpstan 点击查看 免费下载 requireImplements.onEnum 是 PHPStan 在检测到 PHPDoc… · 2026/9/24 17:05:39

【Dify】金融投资新闻自动采集与智能摘要应用
【Dify】金融投资新闻自动采集与智能摘要应用

近年来,金融投资信息的获取愈发注重效率与准确。市场动态瞬息万变,自动化手段成为应对庞杂资讯的关键工具。 本文介绍一种基于Dify自动化工作流的金融新闻采集方案。方案以关键词驱动,涵盖新闻抓取、筛选、摘要和排序全流程,帮助初学者与实战者快速锁定高价值资讯,实现信… · 2026/9/24 17:05:39

【Dify】自动化即梦AI绘画应用
【Dify】自动化即梦AI绘画应用

AI绘画已成为创意表达和视觉设计领域的热门技术,自动化智能作画工具不断丰富创作体验和效率。即梦AI绘画工作流聚焦提示词驱动、云端生成和一键输出,面向零基础用户,极大降低了AI艺术创作门槛。 本文梳理即梦AI绘画工作流的流程架构、模型调用和典型应用场景,归纳系统的实… · 2026/9/24 17:05:39

Flet 0.86 起 `flet build` 默认将应用与依赖包编译为 `.pyc`:机制解读与迁移指南
Flet 0.86 起 `flet build` 默认将应用与依赖包编译为 `.pyc`:机制解读与迁移指南

前端跨平台桌面应用移动开发 【免费下载链接】flet Build realtime web, mobile and desktop apps in Python only. No frontend experience required. 项目地址: https://gitcode.com/gh_mirrors/fl/flet 点击查看 免费下载 自 Flet 0.86.0 起,flet bu… · 2026/9/24 17:05:32

DevilutionX 调试模式完全指南:内置调试命令、命令行参数与游戏内热键
DevilutionX 调试模式完全指南:内置调试命令、命令行参数与游戏内热键

游戏开发 【免费下载链接】DevilutionX Diablo build for modern operating systems 项目地址: https://gitcode.com/gh_mirrors/de/DevilutionX 点击查看 免费下载 导读 DevilutionX 在编译为 Debug 版本时会解锁一整套面向开发者的调试设施:你可以直… · 2026/9/24 17:05:32

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码