xindongyinfu 2011-07-11 10:48
浏览 300
已采纳

由于我要不停的判断当前时间,写了死循环造成CPU100%怎么办

[code="java"]
public class Thread1 implements Runnable {
public void run() {
while (true) {//死循环,当时间到达我指定的时间才跳出来。
if (isExceTime()) {//不停的判断当前时间是否到指定时间
Timer timer = new Timer();
timer.schedule(new FixedTime1(), 0,360000);
break;
}
}
}

private boolean isExceTime() {
//取出当前时间判断是否到我指定的时间
}
}[/code]

我将上面的应用部署到tomcat里在应用启动的时候同时运行。进入死循环 等待时间到达。不知道这样写会不会把应用搞死。
比如我现在是早上8点钟把应用起来,我期望定时作业到夜里12点才开始运行,这样的话我今天一天应用都有一个线程再那死循环。会不会有问题.
死循环造成CUP占有率100%,咋办

  • 写回答

1条回答 默认 最新

  • crane_may 2011-07-11 17:22
    关注

    while里面 sleep 100毫秒之类的

    而且你的时间精度不高,可以sleep长一点,5分钟?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?