gpt4 book ai didi

java - 一个线程如何监视另一个线程?

转载 作者:行者123 更新时间:2023-12-03 12:51:39 24 4
gpt4 key购买 nike

我试图了解“心跳线”的工作原理(从概念上讲)。
“线程-A”如何检查“线程-B”的状态(在Java中),并相应地将状态更新到某些服务器(希望线程-B处于 Activity 状态)。线程A将采取什么机制来获取线程B的状态?

最佳答案

通常,一个线程只能通过调用 isAlive() .来测试另一个线程是否还存在

但是,许多线程可以处于“ Activity 状态”,但是处于没有任何用处的状态。为了检测到这一点,您需要让线程发布有关其 Activity 的定期更新。然后,监视线程可以检测到预期 Activity 是否不再发生。

例如,一个批处理进程可能在每次处理记录时更新一个共享计数器。另一个线程可以读取该计数器,如果一段时间没有增加,则认为该进程已挂起。

在生产系统中,常规解决方案是使用对度量标准库的调用来检测您的过程。该库会将这些信息提供给时间序列数据库收集器。通知和可视化系统将使用时间序列数据库中的数据发送警报或显示图形。

软件推荐没有意义,但是该堆栈的一个实例是Micrometer收集度量标准,Prometheus收集和存储度量标准以及Grafana显示它们。

关于java - 一个线程如何监视另一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687543/

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