用任务管理器画CPU正弦曲线
这个最初是在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正弦曲线的更多相关文章
- [C++]让CPU使用率曲线呈现为正弦曲线(一)
看<编程之美>的第一题就很有意思: 写一个程序,让用户来决定Windows任务管理器的CPU占用率.可以实现下面三种情况: 1. CPU的占用率固定在50%,为一条直线: 2. CPU的占 ...
- 编程之美_1.1 让CPU占用率曲线听你指挥
听到有人说让要写一个程序,让用户来决定Windows任务管理器的CPU占用率. 觉得很好奇.但第一个想法就是写个死循环.哈哈.不知道具体的占用率是多少,但至少能保证在程序运行时,CPU的占用率终会稳定 ...
- .NET(C#):获取进程的CPU使用状况
第一个是通过手动的方法来计算CPU使用比例:CPU使用比例 = 在间隔时间内进程的CPU使用时间 除以 计算机逻辑CPU数量. 使用Process类的UserProcessorTime和Privile ...
- 由于服务主机:DCOM服务进程占用过多CPU,导致系统卡死
最近在使用电脑的时候,总是出现电脑死机,而且鼠标也是经常卡在那里不动了,开始以为是鼠标的问题,还换了个鼠标(飙泪中),这还是一个血的教训啊!!!之后打开任务管理器发现CPU占用已经达到100%,而且一 ...
- WIN10刚开机任务管理显示CPU占用100%问题
针对WIN10更新后出现的问题!!! 现象: 电脑刚开机,直接打开任务管理器,CPU占用100%! 但是电脑运行速度正常,按道理这时候应该卡死!(排除病毒) 下载鲁大师查看只是显示CPU 3%!而网上 ...
- 利用JMX统计远程JAVA进程的CPU和Memory---jVM managerment API
从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java.lang.management 包,包里提供了许多MXBean的接口类,可以很方便的获取到JVM的内存.GC.线程.锁.c ...
- 利用JMX统计远程JAVA进程的CPU和Memory
http://songzi0206.iteye.com/blog/1541636 ******************** 从JAVA 5开始,JDK提供了一些JVM检测的API,这就是有名的java ...
- Windows10 临时将线程绑定至指定CPU的方法
本文首发:https://www.somata.work/2019/WindowsThreadBind.html 将线程绑定至指定CPU,这个应该时很多管理员需要了解认知的操作了吧,这样可以在一定程度 ...
- [原]调试实战——程序CPU占用率飙升,你知道如何快速定位吗?
原调试debugwindbghangprocess explorer 前言 如果我们自己的程序的CPU Usage(CPU占用率)飙升,并且居高不下,很有可能陷入了死循环.你知道怎么快速定位并解决吗? ...
随机推荐
- HTML5表单学习笔记
表单在网页设计中的作用非常重要,HTML5又增加了表单方面的诸多功能,包括增加input输入类型,input属性,form元素,form属性等,解决了我们以前比较头疼或者繁琐的功能. 新增的输入类型 ...
- footer居底
结构部分: <div class="container"> <div class="header">header</div> ...
- 三级联动(ajax)
<body> <div id="zhuti"></div> </body><script type="text/ja ...
- AngularJS打印问题
http://stackoverflow.com/questions/22189544/print-a-div-using-javascript-in-angularjs-single-page-ap ...
- 802.11 wireless 三
802.11 wireless 3watts,milliwatts,and Decibels瓦特(功率单位)的定义是1焦耳/秒微波炉1000瓦特,手机100-200毫瓦 decibels(分贝:比较能 ...
- Spring Mail
想必大家在今天这个特殊的日子里,一定热血沸腾了一把.为上午的阅兵点70个赞! 进入Spring Mail的主题: 前后大概花了8个小时的时间来研究Spring封装的javaMail.本来觉得挺简单的应 ...
- angularJs 问题
1. IE不能渲染指令中的 style="background-color",而chrome和firefox可以 <!DOCTYPE html> <html ng ...
- Cross Validation done wrong
Cross Validation done wrong Cross validation is an essential tool in statistical learning 1 to estim ...
- 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果
利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...
- CSS3弹性盒模型,Flex布局教程
布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型 ...