public static ExecutorService newFixedThreadPoolWithDaemonThread(int nThreads, String poolName) {
    logger.info(NEW_FIXED_THREAD_POOL_LOGGER_FORMAT, poolName, nThreads);
    return new WrappedSingleThreadExecutorService(
        new ThreadPoolExecutor(
            1,
            1,
            0L,
            TimeUnit.MILLISECONDS,
            new LinkedBlockingQueue<>(),
            new IoTThreadFactory(poolName)),
        poolName);
  }
see {@link Executors#newFixedThreadPool(int, java.util.concurrent.ThreadFactory)}.

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