一.怎么解决的?
1.使用如下构造方法:
ScheduledExecutorService executor = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory());
2.实现自己的DaemonThreadFactory
public class DaemonThreadFactory implements ThreadFactory {
private static final AtomicInteger poolNumber = new AtomicInteger(1);
private final ThreadGroup group;
private final AtomicInteger threadNumber = new AtomicInteger(1);
private final String namePrefix;
DaemonThreadFactory() {
SecurityManager s = System.getSecurityManager();
group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
namePrefix = "SchedulePool-" + poolNumber.getAndIncrement() + "-thread-";
}
/**
* @see java.util.concurrent.ThreadFactory#newThread(java.lang.Runnable)
*/
@Override
public Thread newThread