这似乎发生在我的应用程序中,但几乎可以肯定是我的 Maven / JUnit 测试用例环境中发生的其他事情的结果(在我什至还没有完全阅读的代码上——维护一个外国项目)。以下代码按需要运行,并且 TPE 不需要关闭:
final ScheduledThreadPoolExecutor pool = new ScheduledThreadPoolExecutor(1, new ThreadFactory() {
@Override
public Thread newThread(Runnable task) {
Thread thread = new Thread(task, replenisherThreadName);
thread.setDaemon(true);
return thread;
}
});