java 和 spring 的异步
spring 的 async 注解
https://www.baeldung.com/spring-async
@Async will make it execute in a separate thread i.e. the caller will not wait for the completion of the called method.
spring webflux
https://howtodoinjava.com/spring-webflux/spring-webflux-tutorial/
Both Spring MVC and Spring WebFlux support client-server architecture but there is a key difference in the concurrency model and the default behavior for blocking nature and threads. In Spring MVC, it is assumed that applications can block the current thread while in webflux, threads are non-blocking by default. It is the main difference between spring webflux vs mvc.
Reactive and non-blocking generally do not make applications run faster. The expected benefit of reactive and non-blocking is the ability to scale the application with a small, fixed number of threads and lesser memory requirements. It makes applications more resilient under load, because they scale in a more predictable manner.
使用艺电的 async jar包, 让java 支持 async-await
https://dzone.com/articles/async-await-in-java
https://github.com/electronicarts/ea-async