项目背景是消息网关,之前在服务内有两个线程池,一个处理慢消息(处理时间长、数量少),一个处理快消息(处理时间短、数量大),逻辑都是从消息队列里拉消息,如果拉不到就惩罚性 sleep 1s ,随着时间增加看日志竟然发现快消息的线程池处理的消息越来越少,只有慢消息的线程池在运行。现在把线程池分开在两个服务里,看起来问题是消失了。这也太奇怪,难道说 jvm 会倾向于运行上下文切换次数少的线程?
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。