首页 > 软件开发 > JAVA >

怎么让任务管理器CPU监控显示sin函数图像

来源:互联网 2023-03-16 19:08:42 258

在《编程之美》书中有控制CPU使用率曲线的程序,这里介绍一种使用Java语言控制CPU使用率,并在任务管理器CPU监控器显示sin函数的图像hnG办公区 - 实用经验教程分享!

工具/原料

  • JDK 1.8
  • Java编程工具Eclipse
  • 安装了Windows 7系统的个人电脑

方法/步骤

  • 1

    准备好开发环境,系统需要安装好jdk1.8 以及Eclipse开发软件hnG办公区 - 实用经验教程分享!

    怎么让任务管理器CPU监控显示sin函数图像hnG办公区 - 实用经验教程分享!

  • 1此文章未经授权抓取自百度经验
  • 2

    弄懂CPU使用率和Sin函数图形的原理hnG办公区 - 实用经验教程分享!

    需要在短时间内控制CPU的使用率,那么这个控制时间要小于windows任务管理器中的CPU采样时间间隔,一般设置500毫秒。hnG办公区 - 实用经验教程分享!

    同时CPU使用率的值安装Sin函数值输出,产生正弦使用率,在Java中可以说使用Math.Sin(x)函数,但是Sin的值域是[-1,1],而CPU使用率是[0,1],所以需要把Sin函数的值域转换为CPU的占用率,转换公式为:sin(x)/2 0.5hnG办公区 - 实用经验教程分享!

  • 3

    编写程序进行模拟CPU使用率输出图形主程序:CpuSinMonitor.javahnG办公区 - 实用经验教程分享!

    package cpu.sin;hnG办公区 - 实用经验教程分享!

    import java.util.concurrent.ExecutorService;hnG办公区 - 实用经验教程分享!

    import java.util.concurrent.Executors;hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    public class CpuSinMonitor {hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    public static void main(String[] args) {hnG办公区 - 实用经验教程分享!

    //获取系统CPU的核数hnG办公区 - 实用经验教程分享!

    int cpuNum = Runtime.getRuntime().availableProcessors();hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    ExecutorService threadPool = Executors.newFixedThreadPool(cpuNum);hnG办公区 - 实用经验教程分享!

    for(int i =0;icpuNum;i )hnG办公区 - 实用经验教程分享!

    {hnG办公区 - 实用经验教程分享!

    threadPool.execute(new DemoTask("Task-" i));hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    怎么让任务管理器CPU监控显示sin函数图像hnG办公区 - 实用经验教程分享!

  • 4

    编写程序进行模拟CPU使用率计算任务:DemoTask.javahnG办公区 - 实用经验教程分享!

    package cpu.sin;hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    public class DemoTask implements Runnable {hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    private String name;hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    public DemoTask(String name) {hnG办公区 - 实用经验教程分享!

    this.name = name;hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    @OverridehnG办公区 - 实用经验教程分享!

    public void run() {hnG办公区 - 实用经验教程分享!

    double j=0.0;hnG办公区 - 实用经验教程分享!

    //sin的最小周期为2πhnG办公区 - 实用经验教程分享!

    for(j=0.0;j8*2*Math.PI;j =0.1){hnG办公区 - 实用经验教程分享!

    //500毫秒为时间间隔hnG办公区 - 实用经验教程分享!

    compute(500,Math.sin(j)/2 0.5);hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    private void compute(int time, double percent) {hnG办公区 - 实用经验教程分享!

    long runTime = (long)(time*percent);hnG办公区 - 实用经验教程分享!

    long sleepTime = time - runTime;hnG办公区 - 实用经验教程分享!

    long startTime =System.currentTimeMillis();hnG办公区 - 实用经验教程分享!

    while(System.currentTimeMillis()-startTimerunTime)hnG办公区 - 实用经验教程分享!

    {hnG办公区 - 实用经验教程分享!

    ;hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    try {hnG办公区 - 实用经验教程分享!

    Thread.sleep(sleepTime);hnG办公区 - 实用经验教程分享!

    } catch (InterruptedException e) {hnG办公区 - 实用经验教程分享!

    e.printStackTrace();hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

    hnG办公区 - 实用经验教程分享!

    }hnG办公区 - 实用经验教程分享!

  • 5

    运行CpuSinMonitor程序后,通过Alt ctrl del组合键打开任务管理器,这时候就可以查看到CPU显示的图形了hnG办公区 - 实用经验教程分享!

    怎么让任务管理器CPU监控显示sin函数图像hnG办公区 - 实用经验教程分享!

  • 注意事项

    • 运行测试是尽量关闭其他的程序,避免CPU使用率不准确

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!hnG办公区 - 实用经验教程分享!


    标签: CPUJAVA

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码