日期:2014-05-17  浏览次数:20878 次

while的死循环却只占用了50%左右的cpu
死循环一般不是占用大概100%的cpu嘛?为什么我这个while死循环却是这个结果,运行环境:win7旗舰版,vc++6.0,安装有360等软件,代码如下:
#include <windows.h>
#include <time.h>
#include <stdio.h>

void main()
{
DWORD startTime = GetTickCount();
DWORD busyTime = 100;
DWORD i = 0;
while(1)
{
while(GetTickCount() - startTime <= busyTime)
;
}
}

cpu占用率截图如下(第一行的进程):

------解决方案--------------------
楼主的机子比较好,是双核的吧,一个循环只会占用一个核心的,可以再运行个这程序试试。