Почему существует непоследовательное поведение между временем () и std :: addy_variable :: wait_until ()C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему существует непоследовательное поведение между временем () и std :: addy_variable :: wait_until ()

Сообщение Anonymous »

time () сразу после возвращения из std :: condition_variable :: wait_until () обычно возвращает время перед ожиданием до времени, в предыдущую секунду. Почему это? < /P>
#include
#include
#include

int main() {
std::condition_variable condition_variable;
std::mutex condition_mutex;

time_t now = time(nullptr);
while (true) {
time_t next_wake_time = now + 1;
std::cv_status status = std::cv_status::no_timeout;
{
std::unique_lock lock(condition_mutex);
std::chrono::time_point wait_until =
std::chrono::system_clock::from_time_t(next_wake_time);
status = condition_variable.wait_until(lock, wait_until);
}
now = time(nullptr);
std::cout

Подробнее здесь: https://stackoverflow.com/questions/795 ... n-variable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»