Spring批处理多线程:油门限制影响
我有一个多线程步骤,配置了一个corePoolSize为48个线程的线程池(这是一台大机器),但我没有配置限制 我想知道我是否因为这个原因一直在使用这台机器 Spring批处理文档指出,节流限制是一次可以运行的最大并发任务量,默认值为4 我可以在jconsole中看到,实际上创建了48个线程,它们似乎正在执行(我也可以在日志中看到) 但是,因此,即使我可以看到创建的48个线程,节流限制4是否意味着这48个线程中只有4个确实在并发执行工作Spring批处理多线程:油门限制影响,spring,multithreading,spring-batch,Spring,Multithreading,Spring Batch,我有一个多线程步骤,配置了一个corePoolSize为48个线程的线程池(这是一台大机器),但我没有配置限制 我想知道我是否因为这个原因一直在使用这台机器 Spring批处理文档指出,节流限制是一次可以运行的最大并发任务量,默认值为4 我可以在jconsole中看到,实际上创建了48个线程,它们似乎正在执行(我也可以在日志中看到) 但是,因此,即使我可以看到创建的48个线程,节流限制4是否意味着这48个线程中只有4个确实在并发执行工作 提前感谢您。是的,您的理解是正确的,即只有等于thrott
提前感谢您。是的,您的理解是正确的,即只有等于throttle limit的线程才能同时工作 在您的例子中,由于它是一个线程池,可以随机选择任何四个线程来执行工作,其余的线程将保持空闲状态,但由于线程为这四个任务进行轮换,因此会给人一种印象,即所有线程都在同时执行工作 corePoolSize仅表示作业运行期间要启动和维护的线程数,但这并不意味着所有线程都同时运行,这意味着您试图避免作业运行期间的线程创建开销等 您没有共享任何代码或工作结构,因此很难指出更多细节
希望能有帮助 谢谢你的澄清。它确实有用。