文章目录
- 一、题目要求
- 二、分析
- 三、解体方法
- 1.方法1
- 2.解法2:动态了解CPU的运算能力,自动调节忙/闲的时间比
- 3.解法3:能动态适应的解法
一、题目要求
二、分析
三、解体方法
1.方法1
int main(void)
{
for (;;)
{
for (int i=0;i<960000000;i++)
;
sleep(10);
}
return 0;
}
2.解法2:动态了解CPU的运算能力,自动调节忙/闲的时间比
int busyTime=10ms;
int idleTime=busyTime;
Int64 startTim=0;
while (true)
{
startTim=GetTickCount();
while (GetTickCount()-startTim <=busyTime)//busy loop
;
sleep(idleTime);//idle loop
}
3.解法3:能动态适应的解法