这个最初是在microsoft的《编程之美》中看到的,用你的程序来控制CPU的使用率。

首先是要求写一个用来实现CPU使用率为50%程序。

这个还是很好实现的,只要让你的程序忙的时间课空闲时间对半就可以了。

这里主要要用到两个函数:GetTickCount以及Sleep。

GetTickCount函数据我所知在2000版的msdn中是查不到的,不过功能很简单,就是返回系统启动到现在所经历的毫秒数。

有了这个函数,就能够较为准确的获得一个程序运行时间,来控制程序的睡眠时间。

这个是实际效果图:

这个图片的效果就比较惨了,这个程序是我用来画CPU正弦曲线,看这个图片依稀能看出来点正弦的意思……

在家里的计算机画的曲线还是有模有样的,台式机,xp系统。如果你的电脑配置不错,后台程序不多的话,把下面的代码编译运行效果应该也会不错~

当然,如果你想要50%画一条直线,就很简单了,持续运行500ms,Sleep500ms就Ok啦。

另外需要注意的是,任务管理器的CPU曲线更新时间大约是1s,所以以1s为周期来进行CPU使用率的控制就可以了。

程序代码:

 #include <iostream>
#include <windows.h>
#include <cmath> #define PI 3.14
using namespace std; int main()
{
int starttime;
int busytime;
int sinval = ;
while()
{
starttime = GetTickCount();
busytime = (int)( * sin(float((sinval) %= ) / * * PI)) + ;
cout << busytime << endl;
sinval++;
while(GetTickCount() - starttime < busytime)
;
Sleep( - busytime);
}
return ;
}

代码很简明,运行下吧~

用任务管理器画CPU正弦曲线的更多相关文章

  1. [C++]让CPU使用率曲线呈现为正弦曲线(一)

    看<编程之美>的第一题就很有意思: 写一个程序,让用户来决定Windows任务管理器的CPU占用率.可以实现下面三种情况: 1. CPU的占用率固定在50%,为一条直线: 2. CPU的占 ...

  2. 编程之美_1.1 让CPU占用率曲线听你指挥

    听到有人说让要写一个程序,让用户来决定Windows任务管理器的CPU占用率. 觉得很好奇.但第一个想法就是写个死循环.哈哈.不知道具体的占用率是多少,但至少能保证在程序运行时,CPU的占用率终会稳定 ...

  3. .NET(C#):获取进程的CPU使用状况

    第一个是通过手动的方法来计算CPU使用比例:CPU使用比例 = 在间隔时间内进程的CPU使用时间 除以 计算机逻辑CPU数量. 使用Process类的UserProcessorTime和Privile ...

  4. 由于服务主机:DCOM服务进程占用过多CPU,导致系统卡死

    最近在使用电脑的时候,总是出现电脑死机,而且鼠标也是经常卡在那里不动了,开始以为是鼠标的问题,还换了个鼠标(飙泪中),这还是一个血的教训啊!!!之后打开任务管理器发现CPU占用已经达到100%,而且一 ...

  5. WIN10刚开机任务管理显示CPU占用100%问题

    针对WIN10更新后出现的问题!!! 现象: 电脑刚开机,直接打开任务管理器,CPU占用100%! 但是电脑运行速度正常,按道理这时候应该卡死!(排除病毒) 下载鲁大师查看只是显示CPU 3%!而网上 ...

  6. 利用JMX统计远程JAVA进程的CPU和Memory---jVM managerment API

    从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java.lang.management 包,包里提供了许多MXBean的接口类,可以很方便的获取到JVM的内存.GC.线程.锁.c ...

  7. 利用JMX统计远程JAVA进程的CPU和Memory

    http://songzi0206.iteye.com/blog/1541636 ******************** 从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java ...

  8. Windows10 临时将线程绑定至指定CPU的方法

    本文首发:https://www.somata.work/2019/WindowsThreadBind.html 将线程绑定至指定CPU,这个应该时很多管理员需要了解认知的操作了吧,这样可以在一定程度 ...

  9. [原]调试实战——程序CPU占用率飙升,你知道如何快速定位吗?

    原调试debugwindbghangprocess explorer 前言 如果我们自己的程序的CPU Usage(CPU占用率)飙升,并且居高不下,很有可能陷入了死循环.你知道怎么快速定位并解决吗? ...

随机推荐

  1. HTML5表单学习笔记

    表单在网页设计中的作用非常重要,HTML5又增加了表单方面的诸多功能,包括增加input输入类型,input属性,form元素,form属性等,解决了我们以前比较头疼或者繁琐的功能. 新增的输入类型 ...

  2. footer居底

    结构部分: <div class="container"> <div class="header">header</div> ...

  3. 三级联动(ajax)

    <body> <div id="zhuti"></div> </body><script type="text/ja ...

  4. AngularJS打印问题

    http://stackoverflow.com/questions/22189544/print-a-div-using-javascript-in-angularjs-single-page-ap ...

  5. 802.11 wireless 三

    802.11 wireless 3watts,milliwatts,and Decibels瓦特(功率单位)的定义是1焦耳/秒微波炉1000瓦特,手机100-200毫瓦 decibels(分贝:比较能 ...

  6. Spring Mail

    想必大家在今天这个特殊的日子里,一定热血沸腾了一把.为上午的阅兵点70个赞! 进入Spring Mail的主题: 前后大概花了8个小时的时间来研究Spring封装的javaMail.本来觉得挺简单的应 ...

  7. angularJs 问题

    1. IE不能渲染指令中的 style="background-color",而chrome和firefox可以 <!DOCTYPE html> <html ng ...

  8. Cross Validation done wrong

    Cross Validation done wrong Cross validation is an essential tool in statistical learning 1 to estim ...

  9. 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果

    利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...

  10. CSS3弹性盒模型,Flex布局教程

    布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型 ...