浏览代码

获取cpu核心数为并发数

wangliang 4 年之前
父节点
当前提交
096e94aaa2

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/threadPool/MyThreadPool.java

@@ -55,7 +55,9 @@ public class MyThreadPool extends ThreadPoolTaskExecutor {
             threadPoolTaskExecutor.setKeepAliveSeconds(SystemConstant.THREAD_POOL_KEEP_ALIVE_SECONDS);//线程空闲时间
             threadPoolTaskExecutor.setQueueCapacity(SystemConstant.THREAD_POOL_QUEUE_CAPACITY);//队列容量
             threadPoolTaskExecutor.setThreadNamePrefix(SystemConstant.THREAD_POOL_NAME);
-            threadPoolTaskExecutor.setAllowCoreThreadTimeOut(true);
+            threadPoolTaskExecutor.setAllowCoreThreadTimeOut(true);//设置是否允许核心线程超时。若允许,核心线程超时后,会被销毁。默认为不允许(fasle)
+            threadPoolTaskExecutor.setWaitForTasksToCompleteOnShutdown(true);//设置shutdown时是否等到所有任务完成再真正关闭
+            threadPoolTaskExecutor.setAwaitTerminationSeconds(60);//当setWaitForTasksToCompleteOnShutdown(true)时,setAwaitTerminationSeconds 设置在 shutdown 之后最多等待多长时间后再真正关闭线程池
             // rejection-policy:当pool已经达到max size的时候,如何处理新任务
             // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行
             threadPoolTaskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());