任务管理器CPU曲线跑起正弦曲线

(很久之前做过的笔记,现贴出来,也忘了是哪抄来的程序了。)

  先来看看效果图,如果你是双核以上的,需要先在进程里将本程序设置为单核运行。

  方法:右键该进程-》关系-》CPU0

可执行程序下载:/Files/Flouse/controlTheTaskManager.rar

源代码:
#include <Windows.h>
#include 
<stdlib.h>
#include 
<math.h>

const double SPLIT = 0.01;
const int COUNT = 200;
const double PI = 3.14159265;
const int INTERVAL = 50;

int main(int argc, char* argv[]) {
    
// array of busy times
    DWORD busySpan[COUNT];
    
// arry of idle times
    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;
}

posted on 2008-06-30 09:13  Flouse  阅读(2362)  评论(7编辑  收藏  举报

导航