让CPU占用率曲线听你指挥  问题 

 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不限。例如,可以实现下面三种情况:

  1. CPU的占用率固定在50%,为一条直线; 

 2. CPU的占用率为一条直线,但是具体占用率由命令行参数决定(参数范围1~ 100);

 3. CPU的占用率状态是一个正弦曲线。

 

分析与解法

 

 

1. Sleep()——这个方法能让当前线程“停”下来。

  2. WaitForSingleObject()——自己停下来,等待某个事件发生

 3. GetTickCount()——有人把Tick翻译成“嘀嗒”,很形象。  

4. QueryPerformanceFrequency()、QueryPerformanceCounter()——让你访问到精度更高的CPU数据

5. timeGetSystemTime()——是另一个得到高精度时间的方法。

 6. PerformanceCounter——效能计数器。

  7. GetProcessorInfo()/SetThreadAffinityMask()。遇到多核的问题怎么办呢?这两个方法能够帮你更好地控制CPU。

  8. GetCPUTickCount()。想拿到CPU核心运行周期数吗?用用这个方法吧。