在等待时间的情况下:
我们的软件在后台运行,并与 每20到30分钟一台服务器。
我想使用
std::this_thread::sleep_for
但是我的上司强烈反对任何形式的睡眠功能。他推荐
std::condition_variable::wait_until(lock, timeout-time, pred)
我想知道在这种情况下sleep_for是否有任何不利之处?
答案 0 :(得分:0)
正如评论中已经指出的,它仅取决于您的用例。两者之间的主要区别在于,condition_variable
可以在您触发时更早唤醒。您还可以添加一个谓词,它必须满足才能真正唤醒,但这只是生活质量的提高。顺便说一句,与sleep_for
等效的是wait_for
而不是wait_until
。 condition_variable
在多个线程之间进行通信或同步也很棒。
鉴于您所说的一切,出于以下原因,我将使用condition_variable
: