您的位置:首页 > 编程语言 > Java开发

《编程之美》读书笔记(一):让CPU占用率画直线和正弦曲线(Java实现)

2012-11-20 13:43 531 查看
public class CPUTest {

//定义时间片大小(毫秒)
public static final double TIME = 1000;
//画直线方法
private static void lineGraph(double rate) throws InterruptedException{
while (true){
doSomeSimpleWork(rate * TIME);
Thread.sleep((long) (TIME - rate * TIME));
}
}
//画正弦曲线方法
private static void sinGraph() throws InterruptedException{
double x = 0;
double y = 0;
while (true){
y = (Math.sin(x) + 1) * TIME / 2;
doSomeSimpleWork(y);
x += 0.1;
Thread.sleep((long) (TIME - y));
}
}
//占用CPU方法
private static void doSomeSimpleWork(double time) {
long startTime = System.currentTimeMillis();
while ((System.currentTimeMillis() - startTime) < time) {
}
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws InterruptedException {
lineGraph(0.5);
//sinGraph();
}

}


只针对单核CPU,多核CPU系统上的代码实现未讨论。欢迎Java爱好者前来提出改进意见及建议!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐