/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.thread; import java.util.concurrent.ThreadFactory; import java.util.concurrent.atomic.AtomicInteger; /** * * @author sihai * */ public class MeetupThreadFactory implements ThreadFactory { private final String prefix; // �߳���ǰ׺ private ThreadGroup group; // �߳��� private boolean isDaemon; // �Ƿ�����Ϊ�����߳� private Integer priority = Thread.NORM_PRIORITY;// final AtomicInteger tNo; // �̱߳��, �߳�����һ���� public MeetupThreadFactory(String prefix) { this(prefix, null, false, Thread.NORM_PRIORITY); } public MeetupThreadFactory(String prefix, ThreadGroup group, boolean isDaemon, Integer priority) { tNo = new AtomicInteger(0); this.prefix = prefix; if(null != group) { this.group = group; } else { SecurityManager sm = System.getSecurityManager(); group = (sm != null) ? sm.getThreadGroup() : Thread.currentThread().getThreadGroup(); } this.isDaemon = isDaemon; this.priority = priority; } @Override public Thread newThread(Runnable r) { Thread t = new Thread(group, r, new StringBuilder(prefix).append("-Thread-").append(tNo.getAndIncrement()).toString()); t.setDaemon(isDaemon); if (null != priority) { t.setPriority(priority); } return t; } }