我可能一直在做某些错误的事情。所以,我有Spring的@Async
假设我有这段代码
@Async("poolbeanname")
Function () {
// some code
}
我还有一个,假设我有这段代码
@Async("poolbeanname")
Function () {
CompletableFuture.runAsync{ new Runnable ()...}
}
现在,我可以看到第二个代码,产生了一些线程,但是第一种方法似乎产生的线程不止一个?
最佳答案
要启用使用@Async
,您应该使用@EnableAsync
让我们开始通过Java配置启用异步处理-只需将@EnableAsync添加到配置类中即可:
@Configuration
@EnableAsync
public class SpringAsyncConfig { ... }
并且您必须使用从其他类调用的
public
方法:@Async有两个限制:
它只能应用于公共方法
自我调用–从同一个类中调用async方法–将不起作用