Java是否在程序终止时执行最终操作?
我正在用Java制作一个并发/分布式系统的原型。当一个进程终止时(例如命令行上的ctrl+c或Eclipse中的红色按钮),我希望在它离开之前向其他进程广播一条消息(最后一种方法)。尝试使用finalize()执行此操作,但无效。纯java,带有线程、套接字和主循环。谢谢。你试过使用吗Java是否在程序终止时执行最终操作?,java,Java,我正在用Java制作一个并发/分布式系统的原型。当一个进程终止时(例如命令行上的ctrl+c或Eclipse中的红色按钮),我希望在它离开之前向其他进程广播一条消息(最后一种方法)。尝试使用finalize()执行此操作,但无效。纯java,带有线程、套接字和主循环。谢谢。你试过使用吗 请注意文档中的一部分,它指出有时候JVM可能会在不运行关机挂钩的情况下中止—这应该作为正常关机的一部分使用,但不应该假定总是运行。(例如,假设您的网络突然中断,您无法广播再见消息。)您可以使用运行时。addShu
请注意文档中的一部分,它指出有时候JVM可能会在不运行关机挂钩的情况下中止—这应该作为正常关机的一部分使用,但不应该假定总是运行。(例如,假设您的网络突然中断,您无法广播再见消息。)您可以使用
运行时。addShutdownHook()
就是您要找的。就是您想要的。这仅在JVM正常关闭时运行请参阅