《编程之美》(Java实现) :让CPU占用率画直线和正弦曲线(Java实现)
2019独角兽企业重金招聘Python工程师标准>>>
package cglib;
public class jiekou {
public static void drawLine(){
int usage = 700;
System.out.println("Test Begins...");
while(true){
long start = System.currentTimeMillis();
while(System.currentTimeMillis() - start < usage );
try{
Thread.sleep(1000-usage);
}catch(Exception e){
System.out.print(e);
}
}
}
public static void drawSin(){
double x = Math.PI / 2;
while(true){
//下面这一句+1是因为sinx可能为负数,最大为-1,加上1的话就保证为正了
//*0.5是应为加1之后,最大数可能达到2,为了限制在1以内,所以*0.5
long usage = (long)((Math.sin(x)+1)*0.5*1000);
System.out.println(usage);
long start = System.currentTimeMillis();
while(System.currentTimeMillis() - start < usage);
try{
Thread.sleep(1000 - usage);
}catch(Exception e){
System.out.print(e);
}
x += 0.1;
}
}
public static void drawSinSpeedup(){
double x = Math.PI / 2;
//加入了刷新时间,可以调控曲线弯曲程度
int flushtime = 5000;
while(true){
long usage = (long)((Math.sin(x)+1)*0.5*flushtime);
System.out.println(usage);
long start = System.currentTimeMillis();
while(System.currentTimeMillis() - start < usage);
try{
Thread.sleep(flushtime - usage);
}catch(Exception e){
System.out.print(e);
}
x += 0.1;
}
}
public static void main(String[] args) throws InterruptedException {
drawLine();
drawSin();
}
}
转载于:https://my.oschina.net/u/2822116/blog/723882
总结
以上是生活随笔为你收集整理的《编程之美》(Java实现) :让CPU占用率画直线和正弦曲线(Java实现)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: mysql字段timestamp为空映射
- 下一篇: Java中对象的深克隆和浅克隆