我找不到使用executor而不是@Async Spring注释的任何理由。有人能解释一下@Async和executor之间的区别吗?
executor使用起来更复杂,但在如何运行函数方面提供了很大的灵活性。例如,ThreadPoolExecutor
有一个它需要完成的工作队列。如果队列已满,它可以强制调用方运行该工作,以防止队列溢出。
@Async的设计是为了更简单的使用,但是拿走了很多你对如何执行的控制。而且,代码变得特定于Spring,因此它不适合在更广泛的分布式库中使用。