昨天买了本算法导论,打算研究一下算法,正好今天又看到一道《编程之美》上的练习,干脆连编程之美也一起开始看吧。
书是早就买了,但第一题就把我挡住了,因为对Windows编程不是很精通,又没时间研究那些API,所以这本书也就束之高阁了。今天硬着头皮啃了一口。
程序运行结果如下,里面的曲线不是很圆滑,具体原因不深究了,涉及到操作系统底层,现在先看算法而已。
总的来说这个问题比较简单,但涉及几个问题,除了CPU空闲时间的控制外,还有正弦信号这种信号处理的内容,当然没学过数字信号处理的也能搞出来,只不过需要研究,费点事而已。总之真正的算法几乎没有。多核及多CPU的问题也不研究了,还是API的问题。
另外,如果想得到较好的曲线,需要调整一些代码里的采样频率,以及任务管理器的刷新频率,刷新得慢一点,曲线就会平滑一些。
附录一下源码
本文通过C++编程实现了一个简单的正弦波CPU负载模拟器。该程序能够根据正弦波调整CPU的忙碌与空闲周期,进而使得CPU负载呈现出正弦波的变化趋势。文中分享了实现这一功能的具体代码,并探讨了一些可能影响曲线平滑度的因素。

1068

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



