使程序的cpu占用率呈现正弦曲线

来源:互联网 发布:域名绑定ip非80端口 编辑:程序博客网 时间:2024/05/29 07:52

在《编程之美》上面,作者给的解法考虑到了其他程序对cpu的占用而影响最终曲线形状的问题。作者调用了windows的API,而我的系统是linux系统,没有图形化的界面可显示cpu运行曲线,所以我就省力只打印此程序的cpu占用情况,然后根据此程序的cpu占用值验证程序的正确性。

/* * 使cpu的运行图像向一条正弦曲线 * StoryMonster  2016/7/15 */#include <iostream>#include <cmath>#include <cstdlib>#include <ctime>int main(){    const double pi = 3.1415926;    //本例中将一个正弦周期等分为20,使每一个时间常量为2*pi/20;    unsigned int currentTimeCount = 0;    while(true)    {        unsigned int busy = sin(currentTimeCount*2*pi/20)*500 + 500;        unsigned int relax = 1000 - busy;        usleep(relax*1000);        clock_t tim1 = clock();        clock_t tim2 = clock();        while(tim2 - tim1 < busy*1000) tim2 = clock();        currentTimeCount++;        if(currentTimeCount==20) currentTimeCount = 0;    }    return 0;}
1 0
原创粉丝点击