在春季,当我们不定义手动执行程序时,@ Async会更好地工作

时间:2019-05-24 05:14:44

标签: java spring spring-boot asynchronous

在Spring的@Async批注中定义手动线程执行程序有什么用?当我们不定义执行程序时,@ Async会更好地工作。

用例: 我创建了一个手动线程池,最大线程池大小为50。如果传递200个请求,则最多只能处理50个请求。但是,如果我们没有为@Async定义手动线程执行程序,它就可以正常工作。

@Async("manualThreadExecutor")-在最大池大小之后停止

@Async-运行正常

1 个答案:

答案 0 :(得分:0)

手动线程执行程序,可以更好地控制您的应用程序配置。

具体来说,由于已配置线程的最大池大小为50,执行程序将不允许超过50个线程。这非常清楚!

但是,除了配置最大池大小外,这还受到系统处理器的限制。