我想知道 corePoolSize 节流限制作为定义多线程配置的Spring Batch属性之间的区别。

多亏了"What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor",我在corePoolSize和maxPoolSize之间有了区别

但是我的问题涉及 corePoolSize 节流限制 ...我发现最好定义CorePoolSize = Throttle-limit,但是我想知道...是否定义例如:
CorePoolSize = 100和Throttle-limit = 200 ...会发生什么?是将创建200个大小的线程池还是100个?

谢谢您的澄清...

最佳答案

核心池大小表示线程池执行程序将从N线程数开始。节流限制T表示,无论线程池中可用的线程数如何,都仅将这些线程的T用于tasklet。

因此,在这种情况下,您将拥有一个核心池大小为8的线程池和两个节流限制为4的Tasklet,您将利用您的线程池。但是,如果您只有一个 throttle 极限为4的小任务,那么您将利用线程池的一半。

关于java - Spring 批次corePoolSize VS throttle 极限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36645648/

10-12 00:29