// Copyright © 2011-2012, Esko Luontola <www.orfjackal.net>
// This software is released under the Apache License 2.0.
// The license text is at http://www.apache.org/licenses/LICENSE-2.0
package fi.jumi.core.util;
import javax.annotation.concurrent.ThreadSafe;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
@ThreadSafe
public class PrefixedThreadFactory implements ThreadFactory {
private final String prefix;
private final AtomicInteger nextSuffix = new AtomicInteger(1);
public PrefixedThreadFactory(String prefix) {
this.prefix = prefix;
}
@Override
public Thread newThread(Runnable r) {
String name = prefix + nextSuffix.getAndIncrement();
return new Thread(r, name);
}
}