Java中的一段时间之后的中断循环

时间:2014-06-18 20:21:46

标签: java performance timer

我正在寻找一种在没有多线程的情况下在Java中断循环的方法。

public class Foo{
    public Foo(){

    }
    public void bar(long timeLimit)  {

       long endTime = System.currentTimeMillis() + (timeLimit * 1000);

       while (System.currentTimeMillis() < endTime) {

           // Some really long and complicated computation

        }

     }        

 }

目前我意识到在计算过程中会检查哪些(System.currentTimeMillis() < timeLimit)次调用是否还有时间,但我想这会耗费一些时间,而且我还面临着如果循环开始及时的问题,计算可能无法及时完成。

相应地修改timeLimit(假设仅使用40%的时间)也不起作用,因为我无法预测某些计算需要多长时间。

有哪些选项?

0 个答案:

没有答案