+ private static class CalcManagerThreadFactory implements ThreadFactory
+ {
+ private static final AtomicInteger threadNumber = new AtomicInteger(1);
+
+ private final ThreadGroup group;
+
+ private static final String namePrefix = "AlignCalcManager-pool-thread-";
+
+ CalcManagerThreadFactory()
+ {
+ var securityManager = System.getSecurityManager();
+ if (securityManager != null)
+ {
+ group = securityManager.getThreadGroup();
+ }
+ else
+ {
+ group = Thread.currentThread().getThreadGroup();
+ }
+ }
+
+ @Override
+ public Thread newThread(Runnable r)
+ {
+ Thread t = new Thread(group, r,
+ namePrefix + threadNumber.getAndIncrement(), 0);
+ t.setDaemon(false);
+ t.setPriority(Thread.NORM_PRIORITY);
+ return t;
+ }
+ }
+