gpt4 book ai didi

java - JVisualVM 线程调查器中的 Keep-Alive-Timer 是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:28 26 4
gpt4 key购买 nike

enter image description here

这些Keep-Alive-Timer线程在左边有白色标签,下面白色标签不解释其含义。我想知道如何创建这些 Keep-Alive-Timer 线程以及为什么。

enter image description here

实际上,我正在使用 Timer 来检查程序中的心跳消息。每当心跳出现时,我都会安排一个延迟 6 秒的新 TimerTask。如果没有心跳,则触发此 TimerTask 并发送警报。

最佳答案

Keep-Alive-Thread 负责维护 KeepAliveCache,它存储有关使用 Keep-Alive 属性的 http 连接的信息。如果您至少有一个这样的连接,就会有一个 Keep-Alive-Thread 监视它们。当您关闭所有保持连接时,该线程将被销毁。当您向空缓存添加新的保持连接时,JVM 会再次启动该线程。

白色表示线程不再存在。如您所见,您的 JVM 不断地创建和销毁该线程。

看来您正在使用跟踪心跳的计时器任务手动执行相同的工作。您在 6 秒后关闭这些保持连接,JVM 会销毁 Keep-Alive-Thread。您创建一个新连接,JVM 启动一个新的监视 Keep-Alive-Thread。

如果您在 HTTP 连接上使用 Keep-Alive 属性,最好只设置正确的超时时间,让 JVM 进行管理工作。

关于java - JVisualVM 线程调查器中的 Keep-Alive-Timer 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39324302/

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