@Async和executor的区别



我找不到使用executor而不是@Async Spring注释的任何理由。有人能解释一下@Async和executor之间的区别吗?

executor使用起来更复杂,但在如何运行函数方面提供了很大的灵活性。例如,ThreadPoolExecutor有一个它需要完成的工作队列。如果队列已满,它可以强制调用方运行该工作,以防止队列溢出。

@Async的设计是为了更简单的使用,但是拿走了很多你对如何执行的控制。而且,代码变得特定于Spring,因此它不适合在更广泛的分布式库中使用。

最新更新