在关闭 Hook 方法中,我需要它向另一个进程发送消息以表明它已关闭。我当前的消息处理代码要求将消息写入队列,该队列由另一个线程处理并发送到它要去的任何地方。在本例中,由另一个线程写入管道文件。
在关闭钩子(Hook)中,我可以保证这些线程仍然在运行吗?我有几个关闭 Hook ,但这些都是为了处理不需要其他线程的其他事情。
执行量很小。它将运行大约 15 行代码以及写入文件所需的任何等待,这也应该是最少的。
最佳答案
来自 addShutdownHook 的 Javadoc 描述:
“请注意,守护线程将在关闭序列期间继续运行,如果通过调用 exit 方法启动关闭,则非守护线程也会继续运行。” p> 鉴于此,我想说可以安全地假设您的线程仍将运行并且您能够与其通信。我唯一要警告的是不要依赖以确定性顺序运行的关闭 Hook 。
关于java - 关闭钩子(Hook)可以依赖另一个线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1607555/