content: package com.sohu.tv.cachecloud.client.basic.util;
  
  import java.util.concurrent.ThreadFactory;
  import java.util.concurrent.atomic.AtomicInteger;
  
  /**
   * Created by yijunzhang on 14-7-18.
   */
  public class NamedThreadFactory implements ThreadFactory {
      private final AtomicInteger mThreadNum = new AtomicInteger(1);
  
      private final String mPrefix;
  
      private final boolean mDaemo;
  
      private final ThreadGroup mGroup;
  
      public NamedThreadFactory(String prefix, boolean daemo) {
          mPrefix = prefix + "-thread-";
          mDaemo = daemo;
          SecurityManager s = System.getSecurityManager();
          mGroup = (s == null) ? Thread.currentThread().getThreadGroup() : s.getThreadGroup();
      }
  
      public Thread newThread(Runnable runnable) {
          String name = mPrefix + mThreadNum.getAndIncrement();
          Thread ret = new Thread(mGroup, runnable, name, 0);
          ret.setDaemon(mDaemo);
          return ret;
      }
  
      public ThreadGroup getThreadGroup() {
          return mGroup;
      }
  
      @Override
      public String toString() {
          return mPrefix;
      }
  }
  