code: private static ThreadFactory build(String format) {
          return new ThreadFactory() {
              AtomicInteger counter = new AtomicInteger(0);
  
              @Override
              public Thread newThread(Runnable r) {
                  Thread thread = new Thread(r, String.format(format, counter.getAndAdd(1)));
                  thread.setDaemon(true);
                  return thread;
              }
          };
      }
docs: 构建ThreadFactory
  @param format 线程名字模板，格式为：format-%d，其中%d将被替换为从0开始的数字序列，不能为null
  @return ThreadFactory