AnThreadGroupFactoryworkinmutiThread
来源:优易学  2010-1-15 12:19:02   【优易学:中国教育考试门户网】   资料下载   IT书店
  package thread;
  import java.util.concurrent.ThreadFactory;
  /**
  * Thread Factory with Thread Group, which can work in multi thread env,
  * can create thread by daemon flag, and named each thread in creating.
  *
  */
  class ThreadGroupFactory implements ThreadFactory{
  //attributes
  private ThreadGroup _threadGroup;
  private String _namePrefix;
  private boolean _createDaemonFlag;
  private int _numThreads;
  private final Object _synLock = new Object();
  //assign the thread group
  public ThreadGroupFactory(ThreadGroup threadGroup, String namePrefix) {
  _threadGroup=threadGroup;
  _namePrefix = namePrefix;
  _numThreads=0;
  }
  //use parent thread group
  public ThreadGroupFactory(String namePrefix) {
  this(Thread.currentThread().getThreadGroup(), namePrefix);
  }
  //assign the daemon flag
  public void createDaemonThreads(boolean createDaemonFlag){
  synchronized(_synLock){
  _createDaemonFlag=createDaemonFlag;
  }
  }
  @Override
  public Thread newThread(Runnable r) {
  String threadName;
  boolean daemonFlag;来源:考
  synchronized(_synLock){
  threadName = _namePrefix + ++_numThreads;
  daemonFlag = _createDaemonFlag;
  }
  Thread thread = new Thread(_threadGroup, r, threadName);
  thread.setDaemon(daemonFlag);
  return thread;
  }
  }

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训