让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核心运行周期数吗?用用这个方法吧。