在for循环中睡眠,总迭代时间为2分钟

时间:2014-12-12 22:24:42

标签: java for-loop while-loop sleep

我在一段时间内(1)有一个for循环,我希望循环在整个循环周期中平均大约2分钟。这需要基于迭代的执行时间和我的2分钟拍摄时钟中剩余的时间在每次迭代之间休眠不同的时间。任何想法。

我正朝着某个方向前进

while(true)
{
   unsigned long begin_loop = OCX::micro_stamp();
   for (int i = 0; i < _vector.size(); i++) 
    {
        unsigned long start = OCX::micro_stamp();
        unsigned long avg = ( ( begin_loop - start) / ( i + 1 ) );
        usleep ( ( 120000000 - ( (_vector.size() - i) * avg ) ) / ( _vector.size() - i ) );
        try
        {



        }
        catch {
        }
   }
}

2 个答案:

答案 0 :(得分:0)

在每次迭代结束时,睡眠((120 - 总经过时间)/(vector.size() - i))

答案 1 :(得分:0)

在每次迭代结束时,请暂停

((120000000 - total elapsed microseconds) / (vector.size() - i))