如何确保所有Java线程都死掉

时间:2015-02-15 05:34:08

标签: java multithreading

我正在编写一个多线程Java程序,我将从命令提示符运行。它有一个gui(javafx)和很多后台线程。如果我从命令提示符处按Ctrl + C,我启动程序,它会询问“终止批处理作业?是/否”,然后我点击Y然后我只是返回到提示符。但是 - 我想知道是否有可能仍然运行任何未正常终止的后台线程?

2 个答案:

答案 0 :(得分:4)

你的"主要"代码和所有线程都在JVM中运行。如果你终止JVM(作为进程),那么它中运行的所有内容也将被终止。

更多关于"捕捉" ctrl+cCatching Ctrl+C in Java

答案 1 :(得分:1)

据我所知,没有办法从命令行“捕获”或“拦截”Ctrl + C“事件”,所以你无法确定是否有任何未完成的线程并优雅地结束它们。 (令人失望,我知道)。