我正在使用Java对并发/分布式系统进行原型设计。当一个进程终止时(例如命令行上的ctrl + c或Eclipse中的红色按钮)我想在消失之前向其他进程(一个最终方法)广播一条消息。尝试使用finalize()来做但却无济于事。只是带有线程,套接字和主循环的纯java。感谢。
答案 0 :(得分:7)
您是否尝试过使用Runtime.addShutdownHook
?
请注意文档中的部分,指示有时JVM可能会在没有运行关闭挂钩的情况下中止 - 这应该用作正常关闭的一部分,但不应该假设始终< / em>运行。 (想象一下,如果您的网络突然被切断,例如 - 在这种情况下,您无法广播再见消息。)
答案 1 :(得分:2)
Runtime.addShutdownHook()
正是您要找的。 p>
答案 2 :(得分:1)
您可以使用Runtime.addShutdownHook()
。
答案 3 :(得分:0)
Runtime.addShutdownHook()就是你想要的。这仅在JVM正常关闭时才会运行