当我在控制台按下ctrl-c时,应用程序线程的停止顺序和关闭钩子的调用顺序是怎样的?
当我在控制台按下ctrl-c时,应用程序线程的停止顺序和关闭钩子的调用顺序是怎样的?
Thread.interrupt()
命令工作线程停止正在进行的工作...并调用join()
以确保已经发生了这种情况。我知道可以通过添加关闭钩子(shutdown hook)来指定在按下Ctrl-C时应该发生什么,但我不确定其执行顺序。
private static void createShutDownHook()
{
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable()
{
@Override
public void run()
{
System.out.println();
System.out.println("Thanks for using the application");
System.out.println("Exiting...");
}
}));
}