使用 Thread.sleep 的线程处于休眠状态时的 CPU 消耗
我有一个服务器程序来轮询数据库中的新请求,我希望这个轮询以1分钟的间隔完成,所以我在程序中设置了一个Thread.sleep()while loop。
问题是,每当该程序应该“休眠”时,CPU消耗就会急剧上升(即大约25-30%)。
矛盾的是,当程序不休眠并且忙于处理请求时,CPU消耗下降到0.4%。
我在网上阅读并发现与thread.sleep相关的性能命中,但我找不到任何可行的替代方案(Thread.wait需要对对象进行通知,我觉得这在我的场景中是无用的)
主循环(当没有新请求时)不执行任何操作,以下是CPU消耗为25%时正在完成的所有操作的框架
->民意调查
-> 没有新记录?
->睡眠
->重复