| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> @Async注解的正确用法 -> 正文阅读 |
|
[Java知识库]@Async注解的正确用法 |
我们在开发项目的时候,当在执行主程序的时候,需要一些程序异步执行,在spring中通常使用@Async这种注解方式。但是很多时候,我虽然使用了@Async这种异步方式,但是有的时候并不能真正的异步执行。是什么原因导致的呢。我们今天就说下。 首先,你要正确的使用@Async这个,必须要又如下两步: 1:在springBoot的启动类上添加 @EnableAsync 2:在对应的方法上添加 ????@Async 这样你启动的时候就可以用了。既然如此简单,还又什么说多呢。 那就是你虽然这样注解了。但是没有真正的异步执行。什么原因导致的呢。 看下官网是如何解释使用@Async First, let's go over the rules.?@Async?has two limitations:
The reasons are simple:?The method needs to be?public?so that it can be proxied. And?self-invocation doesn't work?because it bypasses the proxy and calls the underlying method directly. 上面是官网的说法。第二个就是调用自己类上的异步方法是不起作用的。就是这种使用方式绕过了代理而直接调用了方法,所以肯定是同步的了。从这里,我们也知道了另外一个知识点,就是@Async注解其实是通过代理的方式来实现异步调用的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:57:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |