java - async

來源:趣味經驗館 1.29W

<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>

熱門標籤