Java在程序终止时执行最终操作?

时间:2012-02-22 20:43:15

标签: java

我正在使用Java对并发/分布式系统进行原型设计。当一个进程终止时(例如命令行上的ctrl + c或Eclipse中的红色按钮)我想在消失之前向其他进程(一个最终方法)广播一条消息。尝试使用finalize()来做但却无济于事。只是带有线程,套接字和主循环的纯java。感谢。

4 个答案:

答案 0 :(得分:7)

您是否尝试过使用Runtime.addShutdownHook

请注意文档中的部分,指示有时JVM可能会在没有运行关闭挂钩的情况下中止 - 这应该用作正常关闭的一部分,但不应该假设始终< / em>运行。 (想象一下,如果您的网络突然被切断,例如 - 在这种情况下,您无法广播再见消息。)

答案 1 :(得分:2)

Runtime.addShutdownHook()正是您要找的。

答案 2 :(得分:1)

您可以使用Runtime.addShutdownHook()

答案 3 :(得分:0)

Runtime.addShutdownHook()就是你想要的。这仅在JVM正常关闭时才会运行