IDEA中怎么设置项目更改后的分析延迟时间,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置项目更改后的分析延迟时间,这样就可确保项目范围分析的正确性,具体的操作步骤如下。......
2023-07-04 577 JAVA
在《编程之美》书中有控制CPU使用率曲线的程序,这里介绍一种使用Java语言控制CPU使用率,并在任务管理器CPU监控器显示sin函数的图像
准备好开发环境,系统需要安装好jdk1.8 以及Eclipse开发软件
弄懂CPU使用率和Sin函数图形的原理
需要在短时间内控制CPU的使用率,那么这个控制时间要小于windows任务管理器中的CPU采样时间间隔,一般设置500毫秒。
同时CPU使用率的值安装Sin函数值输出,产生正弦使用率,在Java中可以说使用Math.Sin(x)函数,但是Sin的值域是[-1,1],而CPU使用率是[0,1],所以需要把Sin函数的值域转换为CPU的占用率,转换公式为:sin(x)/2 0.5
编写程序进行模拟CPU使用率输出图形主程序:CpuSinMonitor.java
package cpu.sin;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class CpuSinMonitor {
public static void main(String[] args) {
//获取系统CPU的核数
int cpuNum = Runtime.getRuntime().availableProcessors();
ExecutorService threadPool = Executors.newFixedThreadPool(cpuNum);
for(int i =0;icpuNum;i )
{
threadPool.execute(new DemoTask("Task-" i));
}
}
}
编写程序进行模拟CPU使用率计算任务:DemoTask.java
package cpu.sin;
public class DemoTask implements Runnable {
private String name;
public DemoTask(String name) {
this.name = name;
}
@Override
public void run() {
double j=0.0;
//sin的最小周期为2π
for(j=0.0;j8*2*Math.PI;j =0.1){
//500毫秒为时间间隔
compute(500,Math.sin(j)/2 0.5);
}
}
private void compute(int time, double percent) {
long runTime = (long)(time*percent);
long sleepTime = time - runTime;
long startTime =System.currentTimeMillis();
while(System.currentTimeMillis()-startTimerunTime)
{
;
}
try {
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
运行CpuSinMonitor程序后,通过Alt ctrl del组合键打开任务管理器,这时候就可以查看到CPU显示的图形了
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
IDEA中怎么设置项目更改后的分析延迟时间,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置项目更改后的分析延迟时间,这样就可确保项目范围分析的正确性,具体的操作步骤如下。......
2023-07-04 577 JAVA
IDEA中怎么设置调试器最近表达式的最大数量,IDEA是java编程语言的集成开发环境,使用该软件编写代码时,可以设置调试器最近表达式的最大数量,从而有效避免调试器中表达式存储过多。......
2023-07-04 399 JAVA