编程之美:让CPU占用率曲线听你指挥
2014-03-01 20:59
459 查看
题目:
写一个程序,让用户来决定Windows任务管理器的CPU占用率。程序越精简越好。例如可以实现下面三种情况:
1、CPU的占用率固定在50%,为一条直线
2、CPU占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~100)
3、CPU占用率状态是一个正弦曲线。
用到一些API函数:
1、Sleep()
2、WaitForSingleObject()//自己停下来,等待某个事件发生
3、GetTickCount()//“滴答”
4、GetProcessorInfo()/SetThreadAffinityMask()//让线程在某个CPU上运行
5、GetCPUTickCount()//获取CPU核心运行周期数
直线:
正弦函数:
写一个程序,让用户来决定Windows任务管理器的CPU占用率。程序越精简越好。例如可以实现下面三种情况:
1、CPU的占用率固定在50%,为一条直线
2、CPU占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~100)
3、CPU占用率状态是一个正弦曲线。
用到一些API函数:
1、Sleep()
2、WaitForSingleObject()//自己停下来,等待某个事件发生
3、GetTickCount()//“滴答”
4、GetProcessorInfo()/SetThreadAffinityMask()//让线程在某个CPU上运行
5、GetCPUTickCount()//获取CPU核心运行周期数
#include <iostream> #include <windows.h> #include <stdlib.h> #include <math.h> using namespace std; const double SPLIT=0.01; const int COUNT=200; const double PI=3.14159265; const int INTERVAL=300; DWORD busySpan[COUNT]; DWORD idleSpan[COUNT]; void thread1(){ DWORD startTime=0; DWORD busyTime=50; DWORD idleTime=busyTime; while(true){ startTime=GetTickCount(); while((GetTickCount()-startTime)<=busyTime); Sleep(idleTime); } } void thread2(){ DWORD startTime=0; int j=0; while(true){ j=j%COUNT; startTime=GetTickCount(); while((GetTickCount()-startTime)<=busySpan[j]); Sleep(idleSpan[j]); j++; } } int main(){ 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; } HANDLE handle; DWORD threadID; if((handle=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)&thread2,0,0,&threadID))!=NULL) SetThreadAffinityMask(handle,1); WaitForSingleObject(handle,INFINITE); return 1; }测试结果如下:
直线:
正弦函数:
相关文章推荐
- 编程之美:让CPU占用率曲线听你指挥
- 编程之美 1.1 让CPU占用率曲线听你的指挥
- 编程之美 1.1 让CPU占用率曲线听你的指挥
- [.NET][编程之美][1.1]C# 实现让CPU占用率曲线听你的指挥 – 可指定运行核心
- 编程之美:让CPU占用率曲线听你指挥
- 编程之美 1.1 让cpu占用率曲线听你指挥(多核处理器)
- 编程之美:让CPU占用率曲线听你指挥
- [趣味编程]CPU占用率曲线听我指挥
- 编程之美 - 让CPU占用率曲线听你指挥
- 读书笔记之编程之美 - 1.1 让CPU占用率曲线听你指挥
- 【编程之美】1.1让cpu占用率曲线听你指挥
- 编程之美:让CPU占用率曲线听你指挥
- 编程之美 1.1 让cpu占用率曲线听你指挥(多核处理器)
- 编程之美之一(让cpu占有率曲线听你指挥)
- 让CPU占用率曲线听你指挥
- 让CPU占用率曲线听你指挥
- 让CPU占用率曲线听你指挥
- 题目《让CPU占用率曲线听你指挥》
- 编程之美:让CPU占用率曲线听你指挥
- 编程之美读书笔记1.1——让CPU占用率曲线听你的指挥