在我的程序中创建一些线程并给出一个结束的任务(这样线程应该死),我还有一个Executors.newSingleThreadScheduledExecutor和Executors.newSingleThreadExecutor,我注意到如果我按下我做的关闭按钮:
@FXML private void handleExit(){
gameManager.cleanup();
Stage stage = (Stage)menuBarTopMenu.getScene().getWindow();
Platform.exit();
stage.close();
}
我没有在intelij中使用退出代码0完成Process.
所以我甚至将我提到的那些线程设置为守护进程,这是清理:
public void cleanup(){
updateTime.shutdown(); // it's Executors.newSingleThreadScheduledExecutor
updateTime.shutdownNow();
}
但我仍然没有看到成功的退出.可能是因为我没有关闭Executors.newSingleThreadExecutor?我无法找到一种方法来关闭它.
我应该做什么其他清理工作?