| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1429 人关注过本帖
标题:微软面试题:让任务管理器画出正弦曲线 有代码求解释~
取消只看楼主 加入收藏
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
微软面试题:让任务管理器画出正弦曲线 有代码求解释~
#include <stdio.h>  
#include <stdlib.h>  
#include <math.h>  
#include <Windows.h>  
  
const double PI = 3.1415926;  
const int FREQUENCY = 360;  
const int AMPLITUDE = 100;  
  
int main()  
{  
   printf("Sine usage of CPU\n");  
    double dPiece = 2*PI / FREQUENCY;  
   DWORD dwWork, dwTick;  
    while(1)  
   {  
        int i;     
        for( i = 0; i < FREQUENCY; i++ ) {  
            dwTick = GetTickCount();  
           dwWork =(DWORD)(AMPLITUDE * (sin(dPiece * i) + 1));           
           while(GetTickCount() - dwTick <= dwWork)  
                ;  
           Sleep(2*AMPLITUDE - dwWork);  
       }  
    }  
   return 0;  
}  
看不懂,求解释~
搜索更多相关主题的帖子: 面试 微软 任务管理器 include double 
2013-03-17 21:55
qiankai
Rank: 2
等 级:论坛游民
帖 子:35
专家分:49
注 册:2012-4-22
收藏
得分:0 
各位大神,关于这个有一个地方不太明白。CPU使用率每次更新显示的数据是是不是dwWork和dwTick在CPU使用率更新的时间单元格共同作用的结果?也就是说死循环的时间多一点CPU的使用率就高点,Sleep函数执行的时间多一点CPU的使用率就低点,可以这样理解吗?
2013-03-19 15:11
快速回复:微软面试题:让任务管理器画出正弦曲线 有代码求解释~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013209 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved