ThreadUtil.java 762 B

123456789101112131415161718192021222324252627282930
  1. package com.kcim.common.util;
  2. import lombok.extern.slf4j.Slf4j;
  3. import java.util.concurrent.*;
  4. /**
  5. * 线程池通用
  6. */
  7. @Slf4j
  8. public class ThreadUtil {
  9. private static ExecutorService executorService;
  10. public static final int CPU_NUM = Runtime.getRuntime().availableProcessors();
  11. public static synchronized ExecutorService getInstance() {
  12. if (executorService == null) {
  13. executorService = new ThreadPoolExecutor(
  14. CPU_NUM + 1,
  15. CPU_NUM * 2,
  16. 10000,
  17. TimeUnit.MILLISECONDS,
  18. new LinkedBlockingQueue<Runnable>(),
  19. Executors.defaultThreadFactory()
  20. );
  21. }
  22. return executorService;
  23. }
  24. }