我想知道 corePoolSize 和 throttle-limit 之间的区别,作为定义多线程配置的 Spring Batch 属性。
感谢这篇文章 "What is the difference between corePoolSize and maxPoolSize in the Spring ThreadPoolTaskExecutor",我知道了 corePoolSize 和 maxPoolSize 之间的区别
但我的问题涉及 corePoolSize 与 throttle-limit...我发现最好定义 CorePoolSize = Throttle-limit,但我想知道...例如,如果我定义: CorePoolSize = 100 和 Throttle-limit = 200...会发生什么?将创建一个 200 大小的线程池还是 100 个?
感谢您的任何澄清...
最佳答案
核心池大小表示线程池执行程序将从 N
个线程开始。 throttle-limit T
表示,无论线程池中可用线程的数量如何,只将这些线程中的 T
用于 tasklet。
因此,您可以拥有一个核心池大小为 8 的线程池和两个节流限制为 4 的微线程,在这种情况下您将使用线程池。但是,如果您只有一个限制为 4 的 tasklet,您将使用一半的线程池。
关于java - Spring 批处理 corePoolSize VS throttle 限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36645648/