Может ли повысить boost :: posix_time :: миллисекунды превратить значение около 0 в 0? - PullRequest
0 голосов
/ 25 февраля 2011

Итак, я создал некоторый код.Я использую таймеры повышения.здесь это

      while(1){
        timerForCaptureFame.restart();
   //some code
        spendedTimeForCaptureFame = timerForCaptureFame.elapsed();
        if(spendedTimeForCaptureFame < desiredTimeForCaptureFame){
                boost::this_thread::sleep(boost::posix_time::milliseconds(desiredTimeForCaptureFame - spendedTimeForCaptureFame));
        }
}

может ли это случиться так, что desiredTimeForCaptureFame - spendedTimeForCaptureFame будет> 0, но boost примет его как 0 и просто приостановит поток?

1 Ответ

2 голосов
/ 02 марта 2011

boost::this_thread::sleep(0) не должен «останавливать поток»;он должен просто немедленно вернуться.Были сообщения об ошибках, связанных с зависанием boost::this_thread::sleep, так что, возможно, вы исправили эту ошибку - в таком случае, я был бы признателен за более подробную информацию, поскольку сам не смог ее воспроизвести.

...