And*_*rus 8 c++ sleep stl thread-sleep c++11
注意,这不是一个问题std::condition_variable::wait_for()
.我知道可以假装醒来.
我的程序的行为表明这个问题的答案是肯定的,但是对于condition_variable案例,STL文档非常清楚.至少在cppreference.com上,this_thread的正确答案似乎是否定的.
编译器是gcc 4.8.1,如果这是一个缺陷.
C++标准的相关部分(段落[thread.thread.this]/7-9)没有提及任何关于虚假唤醒的内容std::this_thread::sleep_for
,与...不同 std::condition_variable::wait_for
.
Run Code Online (Sandbox Code Playgroud)template <class Rep, class Period> void sleep_for(const chrono::duration<Rep, Period>& rel_time);
7 效果:阻止调用线程指定的相对超时(30.2.4)
rel_time
.8 同步:无.
9 抛出:超时相关的例外(30.2.4).
这意味着您观察到的行为是不符合的.
归档时间: |
|
查看次数: |
682 次 |
最近记录: |