注意,不是线程暂停。答线程暂停得不给分。现在是这样,我写了一段代码while(!XXXXX()==0){
}
这段代码在执行时且XXXX()函数返回不为0数值很长时,CPU占用率达到了100%。现在我想在循环体内每检查一状态就暂停一毫秒,使其他进程有机会得到cpu。

解决方案 »

  1.   

    注意,不是线程暂停。
    ----------------------
    是什么意思?是不是
    Thead.sleep(1)??
      

  2.   

    while(!XXXXX()==0){
    }你这么做,还不如 Thread.currentThread.sleep(n);效果一样,只是sleep的时候线程会放弃资源,但是你while的时候会耗费CPU。你的java主进程是什么概念? 活动jvm可以说就是一个进程,你所说的java主进程是不是应该是jvm的主线程。你把主线程睡眠掉,也是一样的。
      

  3.   

    是jvm的主线程。你把主线程睡眠掉,也是一样的。
    =======================================
    我就是不知道如何让他睡眠啊?
      

  4.   

    Thread.currentThread居然是静态方法,谢了
      

  5.   

    Thread.currentThread 就是获取当前执行线程对象的方法。