小编典典

当关机挂钩损坏时

java

如果我将 关闭钩子 添加到Java程序的运行时中,如下所示:

public class MyShutdownHook implements Runnable
{
    @Override
    public void run()
    {
        // Stuff I want executed anytime
        // the program, Java, or the OS exits normally,
        // crashes, or terminates unexpectedly for any reason.
    }
}

// The in another method...
Runtime.getRuntime().addShutdownHook(new MyShutdownHook());

…那么,在程序/ Java / OS正常退出,崩溃或意外终止时,有
没有run()可能无法执行该方法的情况?如果是这样,什么情况下可以绕过Runtime关机钩,为什么?


阅读 216

收藏
2020-11-23

共1个答案

小编典典

  • 如果该进程被终止,将不会执行关闭挂钩。

  • 如果进程崩溃,将不会执行关闭挂钩。

  • 如果您有Windows服务,并且关闭挂钩需要很长时间才能执行,则它将终止。

2020-11-23