现在的位置: 首页 > 综合 > 正文

Windows控制CPU使用率曲线

2013年10月25日 ⁄ 综合 ⁄ 共 2348字 ⁄ 字号 评论关闭

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

    效果图如下:
Windows CPU使用率曲线

 

Linux CPU使用率曲线

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

代码如下:

 

    其中INTERVAL可以视为周期,而COUNT和SPLIT分别为采样点数和步长,SLOPE就是斜率了。。。另外,对于双核而言,编程之美上的代码并不完美,于是按照书上的指点,使用SetThreadAffinityMask()将两个线程分别在每个核去执行。

Linux下代码完全仿照Windows写出,知识获取时间的函数不同,另外,使用usleep实现微秒级定时:

抱歉!评论已关闭.