Visual VM 显示 FifoMessageDispatchChannel.dequeue() 花费了大量时间。Tomcat 进程正在使用大约 100% 的处理器核心。
2 回答

红颜莎娜
TA贡献1842条经验 获得超12个赞
dequeue() 并不像其他人所说的那样占用太多处理器时间。对另一个问题的回答解释了“自我时间”包括花在处理以外的事情上的时间,例如等待。
Self 和 Total Time (CPU) 包括使用处理器的方法中的时间,对于 dequeue() 来说它们为 0。要查找使用处理器最多的方法,请按自用时间 (CPU) 排序,如Bedla 所示。

慕村225694
TA贡献1880条经验 获得超4个赞
最可能的原因是您正在调用消费者接收方法并等待很短的时间,但如果没有更多信息就无法判断。调度通道只是检查队列中是否有数据,如果没有数据存在,则会在给定的超时时间内阻塞,等待信号唤醒并再次检查或超时并返回。
添加回答
举报
0/150
提交
取消