Visual VM 顯示 FifoMessageDispatchChannel.dequeue() 花費了大量時間。Tomcat 進程正在使用大約 100% 的處理器核心。
2 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
dequeue() 并不像其他人所說的那樣占用太多處理器時間。對另一個問題的回答解釋了“自我時間”包括花在處理以外的事情上的時間,例如等待。
Self 和 Total Time (CPU) 包括使用處理器的方法中的時間,對于 dequeue() 來說它們為 0。要查找使用處理器最多的方法,請按自用時間 (CPU) 排序,如Bedla 所示。

慕村225694
TA貢獻1880條經驗 獲得超4個贊
最可能的原因是您正在調用消費者接收方法并等待很短的時間,但如果沒有更多信息就無法判斷。調度通道只是檢查隊列中是否有數據,如果沒有數據存在,則會在給定的超時時間內阻塞,等待信號喚醒并再次檢查或超時并返回。
添加回答
舉報
0/150
提交
取消