/*_########################################################################## _## _## Copyright (C) 2011-2012 Kaito Yamada _## _########################################################################## */ package com.github.kaitoy.sneo.util; import java.util.concurrent.ThreadFactory; public class NamedThreadFactory implements ThreadFactory { private volatile String name; private volatile boolean createDaemon; public NamedThreadFactory() { this(null, false); } public NamedThreadFactory(String prefix) { this(prefix, false); } public NamedThreadFactory(boolean createDaemon) { this(null, createDaemon); } public NamedThreadFactory(String prefix, boolean createDaemon) { this.name = prefix; this.createDaemon = createDaemon; } public String getPrefix() { return name; } public void setPrefix(String prefix) { this.name = prefix; } public boolean getDaemon() { return createDaemon; } public void setDaemon(boolean createDaemon) { this.createDaemon = createDaemon; } public Thread newThread(Runnable r) { Thread t; if (name != null) { t = new Thread(r, name); } else { t = new Thread(r); } t.setDaemon(createDaemon); return t; } }