diff --git a/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java b/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java index 84a94c5..44799e0 100644 --- a/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java +++ b/lucene/core/src/java/org/apache/lucene/util/NamedThreadFactory.java @@ -29,8 +29,8 @@ import java.util.concurrent.atomic.AtomicInteger; * {@link Executors#defaultThreadFactory()}. */ public class NamedThreadFactory implements ThreadFactory { + private static final ThreadFactory FACTORY = Executors.defaultThreadFactory(); private static final AtomicInteger threadPoolNumber = new AtomicInteger(1); - private final ThreadGroup group; private final AtomicInteger threadNumber = new AtomicInteger(1); private static final String NAME_PATTERN = "%s-%d-thread"; private final String threadNamePrefix; @@ -41,9 +41,6 @@ public class NamedThreadFactory implements ThreadFactory { * @param threadNamePrefix the name prefix assigned to each thread created. */ public NamedThreadFactory(String threadNamePrefix) { - final SecurityManager s = System.getSecurityManager(); - group = (s != null) ? s.getThreadGroup() : Thread.currentThread() - .getThreadGroup(); this.threadNamePrefix = String.format(Locale.ROOT, NAME_PATTERN, checkPrefix(threadNamePrefix), threadPoolNumber.getAndIncrement()); } @@ -58,11 +55,10 @@ public class NamedThreadFactory implements ThreadFactory { * @see java.util.concurrent.ThreadFactory#newThread(java.lang.Runnable) */ public Thread newThread(Runnable r) { - final Thread t = new Thread(group, r, String.format(Locale.ROOT, "%s-%d", - this.threadNamePrefix, threadNumber.getAndIncrement()), 0); - t.setDaemon(false); - t.setPriority(Thread.NORM_PRIORITY); - return t; + final Thread newThread = FACTORY.newThread(r); + newThread.setName(String.format(Locale.ROOT, "%s-%d", + this.threadNamePrefix, threadNumber.getAndIncrement())); + return newThread; } }