控制任务管理器CPU曲线(Java实现)

如何让windows任务管理器实现你想要的曲线呢,下午查了下资料,自己动手实践了一下。思路很简单,CPU使用记录的数据来源就是CPU的使用率,只要让它一会忙(执行循环),一会闲(sleep),最终得到(每周期执行时间/一个周期)就能得到一个数字,将这些离散的数字连接起来,就是曲线图了。

 

画直线和画正弦都还好,只是后来到了加速图像显示的时候,出现一个图形如下图

 

很是奇怪,到底是什么原因呢?肯定是跟任务管理器CPU曲线的刷新率相关的。

假设刷新时间为1S,

那么第三个程序在的flushtime在小于1000的情况下可以起到控制图像的作用(小于1000,执行的时间和sleep的时间都会乘上相同的系数,最终的比例还是不会变的)。

如果他它大于1000的话,那么在一段时间,它将得到几个相同的点,然后由于短暂的突变(比如执行时间很长,sleep时间很短,则会出现波谷,执行时间很短,sleep时间很长,则会出现波峰),它又将回到回来的位置,但是总体的形状还是保持原来的基本样式,这应该就能解释上面的图形了吧。。。。

 

 

 

 

以下是java代码

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值