前几天无聊,按照《编程之美》第一题写了个控制CPU使用率的程序。本以为没什么,可是今天早上在ChinaUnix上看到完全复制书上的代码毫无原创的帖子居然很火。。。所以把自己的代码贴出来,供以后学习……
效果图如下:


其实程序的设计思想很简单,Windows任务管理器中CPU使用率基本上1s刷新一次,而CPU使用率其实就是在1s中CPU忙和闲时间的均值。因此,根据我们想要得到的CPU曲线的特点,我们首先做出忙闲时间的表,CPU根据忙闲时间选择执行或挂起。
代码如下:
本文介绍了如何用C++编写程序来模拟Windows和Linux系统的CPU使用率曲线。通过设置线程执行时间和休眠时间,模拟出正弦波和锯齿波形的CPU使用率变化。在Windows中,利用WinAPI函数如`GetTickCount`和`Sleep`,而在Linux中,使用`gettimeofday`和`usleep`实现微秒级定时。
前几天无聊,按照《编程之美》第一题写了个控制CPU使用率的程序。本以为没什么,可是今天早上在ChinaUnix上看到完全复制书上的代码毫无原创的帖子居然很火。。。所以把自己的代码贴出来,供以后学习……
效果图如下:


其实程序的设计思想很简单,Windows任务管理器中CPU使用率基本上1s刷新一次,而CPU使用率其实就是在1s中CPU忙和闲时间的均值。因此,根据我们想要得到的CPU曲线的特点,我们首先做出忙闲时间的表,CPU根据忙闲时间选择执行或挂起。
代码如下:

被折叠的 条评论
为什么被折叠?