public static ExecutorService newCachedThreadPool(
      String poolName, Thread.UncaughtExceptionHandler handler) {
    logger.info(NEW_CACHED_THREAD_POOL_LOGGER_FORMAT, poolName);
    return new WrappedThreadPoolExecutor(
        0,
        Integer.MAX_VALUE,
        60L,
        TimeUnit.SECONDS,
        new SynchronousQueue<>(),
        new IoTThreadFactory(poolName, handler),
        poolName);
  }
see {@link Executors#newCachedThreadPool(java.util.concurrent.ThreadFactory)}.

@param poolName the name of thread pool.
@return thread pool.
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/concurrent/IoTDBThreadPoolFactory.java