Spring批量corePoolSize VS throttle-limit

Sin*_*DEM 6 java spring multithreading spring-batch

我想知道corePoolSize和throttle-limit之间的区别,因为Spring Batch属性定义了多线程配置.

由于这篇文章"Spring ThreadPoolTask​​Executor中corePoolSize和maxPoolSize有什么区别",我对corePoolSize和maxPoolSize有所区别.

但是我的问题涉及corePoolSize vs throttle-limit ...我发现定义CorePoolSize = Throttle-limit更好,但我想知道......如果我定义的例子:CorePoolSize = 100和Throttle-limit = 200 .. . 怎么了 ?是一个200大小的线程池,将创建或100?

谢谢你的任何澄清......

Joh*_*int 10

核心池大小表示线程池执行程序将以N线程数开始.限制限制T表示,无论线程池中可用的线程数是多少,只需将T这些线程用于tasklet.

因此,您可以拥有一个核心池大小为8的线程池和两个限制为4的tasklet,在这种情况下,您将使用您的线程池.但是如果你只有一个节流限制为4的tasklet,你将使用一半的线程池.

  • 谢谢你的澄清约翰,但如果油门限制超过 corePoolSize 怎么办?例如 Throttle-limit = 200 和 CorePoolSize = 100 ?JVM 会崩溃吗? (2认同)