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異步調用就可以完美解決這個問題。
那麼異步調用是什麼?
瞭解異步調用之前,先來了解一下同步調用,同步就是整個處理過程順序執行,當各個過程都執行完畢,並返回結果。 異步調用則是隻是發送了調用的指令,調用者無需等待被調用的方法完全執行完畢,而是繼續執行下面的流程。
例如,在某個調用中,需要順序調用 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>