gpt4 book ai didi

c++ - std::condition_variable::wait_for 和 std::condition_variable::wait_until 有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 12:58:49 28 4
gpt4 key购买 nike

reference I'm using用以下方式解释这两者:

  • wait_for "阻塞当前线程,直到条件变量被唤醒或在指定的超时时间之后"

  • wait_until "阻塞当前线程,直到条件变量被唤醒或到达指定时间点"

有什么区别? wait_until 是否会自旋,以便线程在收到信号时可以准确地(或多或少地)继续,而 wait_for 只是在此时将线程重新添加到调度中?

最佳答案

不同之处在于等待持续时间的表示方式:wait_for 需要一个相对时间(“等待最多 10 秒”),而 wait_until 需要一个绝对时间(“等到 2012 年 10 月 30 日中午 12:00”)。

比较时间参数的声明:

// wait_for:
const std::chrono::duration<Rep, Period>& rel_time

// wait_until:
const std::chrono::time_point<Clock, Duration>& abs_time

关于c++ - std::condition_variable::wait_for 和 std::condition_variable::wait_until 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13142255/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com