控制CPU使用率爲正弦曲線

// cpu.cpp : 定義控制檯應用程序的入口點。
//

#include "stdafx.h"
#include "Windows.h"
#include "stdlib.h"
#include "math.h"

const double SPLIT=0.01;
const int COUNT=200;
const double PI=3.1415926;
const int INTERVAL=300;


int _tmain(int argc, _TCHAR* argv[])
{ 
 DWORD busySpan[COUNT];
 DWORD idleSpan[COUNT];
 int half=INTERVAL/2;
 double radian=0.0;
 for(int i=0;i<COUNT;i++)
 {
  busySpan[i]=(DWORD)(half+(sin(PI*radian)*half));
  idleSpan[i]=INTERVAL-busySpan[i];
  radian+=SPLIT;
 }
 DWORD startTime=0;
 int j=0;
 while(true)
 {
  j=j%COUNT;
  startTime=GetTickCount();
  while((GetTickCount()-startTime)<=busySpan[j])
   ;
  Sleep(idleSpan[j]);
  j++;
 }

 return 0;
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章