java async

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java async是什么,让我们一起了解一下?

async是通过同步的方式来实现交互处理的,但是在Java应用中处理与第三方系统交互的时候,容易造成响应迟缓的情况,通过内置@Async异步调用就可以完美解决这个问题。

那么异步调用是什么?

了解异步调用之前,先来了解一下同步调用,同步就是整个处理过程顺序执行,当各个过程都执行完毕,并返回结果。 异步调用则是只是发送了调用的指令,调用者无需等待被调用的方法完全执行完毕,而是继续执行下面的流程

java async

例如,在某个调用中,需要顺序调用 A, B, C三个过程方法,如他们都是同步调用,则需要将他们都顺序执行完毕之后,方算作过程执行完毕。如B为一个异步的调用方法,则在执行完A之后,调用B,并不等待B完成,而是执行开始调用C,待C执行完毕之后,就意味着这个过程执行完毕了。

如何在Spring中启用@Async?

基于Java配置的启用方式:

@Configuration

@EnableAsync

public class SpringAsyncConfig { ... }

@Async //标注使用public void asyncMethodWithVoidReturnType() {undefinedSystem.out.println("Execute method asynchronously. "+ Thread.currentThread().getName());}

使用的方式非常简单,一个标注即可解决所有的问题。

另外基于XML配置文件的启用方式代码示例如下:

<dependency>    <groupId>org.springframework</groupId>    <artifactId>spring-context</artifactId>    <version> 5.2.8.RELEASE</version></dependency>