Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JVisualVM线程调查员中,保持活动计时器意味着什么?_Java_Multithreading_Timer_Jvisualvm - Fatal编程技术网

Java 在JVisualVM线程调查员中,保持活动计时器意味着什么?

Java 在JVisualVM线程调查员中,保持活动计时器意味着什么?,java,multithreading,timer,jvisualvm,Java,Multithreading,Timer,Jvisualvm,这些保持活动的计时器线程在左侧有白色标签,白色标签在下面没有描述其含义。我想知道如何创建这些保持活动的计时器线程以及为什么 实际上,我正在使用计时器检查程序中的心跳消息。每当心跳到来时,我都会安排一个新的TimerTask,延迟6秒。如果没有心跳,将触发此TimerTask并发送警报。保持活动线程负责维护KeepAliveCache,该线程存储有关使用保持活动属性的http连接的信息。如果您至少有一个这样的连接,将有一个保持活动的线程监视它们。当您关闭所有保持活动状态的连接时,此线程将被销毁。

这些保持活动的计时器线程在左侧有白色标签,白色标签在下面没有描述其含义。我想知道如何创建这些保持活动的计时器线程以及为什么


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

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

白色表示线程不再活动。正如您所看到的,JVM不断地创建和销毁这个线程

似乎您正在使用跟踪心跳的计时器任务手动执行相同的工作。您在6秒钟后关闭这些保持活动的连接,JVM将销毁保持活动的线程。创建一个新连接,JVM启动一个新的保持活动状态线程

如果在http连接上使用
Keep-Alive
属性,那么最好设置正确的超时时间,让JVM执行内务管理工作