固定CPU使用率

网友投稿 678 2022-08-25

固定CPU使用率

固定CPU使用率

一道很经典的微软面试题,编程实现使得cpu使用率保持在一个固定水平。

直接上代码

#include #include using namespace std;int main() { while (true) { for (int i = 0; i < 1240000000; i++) ; Sleep(10); } return 0;}

运行结果:

主要是因为 windows中,进程挂起和唤醒问题。windows中进程调度时间片约为10ms,每10ms挂起一次进程,再根据cpu的主频3.1ghz(每秒钟可完成3.1 * 10^9个指令次运算),让每段代码都能够运行,那么就取其平均数。循环次数n = (3.1 * 10^9 * 2)/ 5 = 1.24 * 10^9 ,保证cpu每秒内完成上述的内循环一次,保持一个相对稳定的运行状态。

(参考《编程之美》)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:LeetCode-560. Subarray Sum Equals K
下一篇:LeetCode-543. Diameter of Binary Tree
相关文章

 发表评论

暂时没有评论,来抢沙发吧~