我不清楚类java.util.concurrent.Executors中newScheduledThreadPool()方法的“corePoolSize”参数是什么意思。
如果我输入较高的数字值会发生什么,如果我输入较低的数字值会发生什么?
// corePoolSize = 1;
java.util.concurrent.Executors.newScheduledThreadPool(corePoolSize);
或者
// corePoolSize = 5;
java.util.concurrent.Executors.newScheduledThreadPool(corePoolSize);
定义该值的正确方法是什么?
最佳答案
在ThreadPoolExecutor的javadoc中详细解释-提取:
因此,它根据执行程序的状态来定义是否应创建线程。
对于ScheduledExecutorService
,如果您不打算在给定时间运行多个任务,则corePoolSize
为1可能会更有效。而且,如果需要的话,它不会阻止创建更多的线程。