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
Мобильная версия