一道有趣的题目
此题出自《编程之美-微软技术面试心得》一书,第一三星级题目:
用程序控制Windows任务管理器中的CPU占用率,包括以下三种情况:
1、固定在50%
2、固定在某一个值,这个值由用户决定
3、曲线是一条正弦曲线
有没有人在没看过答案之下做出来的,或者看完书后有新的算法?
给出一个方法
int main()
{
for(;;)
{
for(int i = 0; i < 9600000; i++) /* 本机的CPU每秒执行的指令数 */
;
Sleep(10);
}
return 0;
}
这个方法最直接,但有一个前提,你要先计算出自己电脑上CPU每秒执行的指令数,这涉及到系统底层的知识。而且此算法没有可移植性,换一个CPU就需要重新计算。如果是双核CPU就更不适合了。
try thinking about it .pretty interesting.