while循环&CPU占用率高问题深入分析与解决方案
java中while循环导致CPU占用率高问题分析与解决方案。操作系统中,CPU竞争有很多种策略。Unix系统使用的是时间片算法,而Windows则属于抢占式的。除了这里使用的Thread.sleep(1),相关的还有Thread(0) Thread.yeild()。Thread.Sleep(0)的作用,就是“触发操作系统立刻重新进行一次CPU竞争”。Thread.Sleep(1)无论有没有符合的线程,都会放弃 CPU 时间,因此 CPU 占用率较低。优化的话一般用sleep(1)
原创
2017-12-19 10:39:27 ·
17345 阅读 ·
4 评论