#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 main(int argc,char * 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] = (DWORD) INTERVAL - busyspan[i];
//busyspan[i]=idlespan[i]=half;
radian += SPLIT;
}
DWORD startTime = 0;
int j =0;
while(1)
{
j = j%COUNT;
startTime = GetTickCount();//系统每一毫秒累加一次,从系统启动开始计时最多到49.7天
while((GetTickCount()-startTime)<busyspan[j]);
Sleep(idlespan[j]);
j++;
}
return 0;
}