gpt4 book ai didi

Java 等效于 .NET 的 Environment.HasShutdownStarted

转载 作者:行者123 更新时间:2023-12-04 05:19:31 25 4
gpt4 key购买 nike

在 .NET 中,您可以查看 Environment.HasShutdownStarted 属性以查看您的服务是否因任何原因被卸载,并执行优雅的卸载/清理。

所以而不是:

while (true) { }

...您可以使用...
while (!Environment.HasShutdownStarted) { }

Java中有没有等价的东西?

最佳答案

也许您正在寻找关闭 Hook ?这允许您指定在应用程序关闭时要运行的线程(只要它没有被 kill -9 或类似的粗暴地强制关闭,但在这种情况下,没有环境可以保证在关闭时执行任何操作。)

Runtime.getRuntime().addShutdownHook(new Thread() {

public void run() {
//Code here.
}
});

从实际的角度来看,您还应该使这些线程快速执行 - 因为否则应用程序将在退出时出现挂起,并且没有人喜欢这样(另外,操作系统或用户可能会选择终止应用程序,中止钩子(Hook)在任意点。)

您可以添加多个关闭 Hook ,它们将同时执行(并且以任意顺序)。

可以通过调用 removeShutdownHook() 以类似的方式移除关闭 Hook 。 .

关于Java 等效于 .NET 的 Environment.HasShutdownStarted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com