我想知道corePoolSize和throttle-limit之间的区别,因为Spring Batch属性定义了多线程配置.
由于这篇文章“What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor”,我在corePoolSize和maxPoolSize之间有所区别
但是我的问题涉及corePoolSize vs throttle-limit …我发现定义CorePoolSize = Throttle-limit更可取,但我想知道……如果我定义例如:
CorePoolSize = 100和Throttle-limit = 200 ……会发生什么?是一个200大小的线程池,将创建或100?
谢谢你的任何澄清……
最佳答案
核心池大小表示线程池执行程序将以N个线程开始.限制阈值T表示,无论线程池中可用的线程数是多少,只需将这些线程的T用于tasklet.
因此,您可以拥有一个核心池大小为8的线程池和两个限制为4的tasklet,在这种情况下,您将使用您的线程池.但是如果你只有一个节流限制为4的tasklet,你将使用一半的线程池.