我想知道 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/