《编程之美》(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为空映射
- 下一篇: sql随笔