Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::等待直到始终需要阻止?_C++_Multithreading_C++11 - Fatal编程技术网

C++ std::等待直到始终需要阻止?

C++ std::等待直到始终需要阻止?,c++,multithreading,c++11,C++,Multithreading,C++11,当提供的超时时间点参数早于“当前时间”时,是否需要阻止std::wait_until(C++11)的双参数版本(即不带谓词的版本) 如果不阻塞,它是否仍然返回std::cv_status::timeout?如果在调用之前发出了互斥信号,则即使没有超过超时,它也不会阻塞,返回std::cv_status::no_timeout。如果互斥锁未发出信号,则例程将阻塞,直到发出信号或时间到期。返回值为::timeout,仅当超时在发出互斥信号之前过期时才返回。@JVene mutex arn未发出信号,

当提供的超时
时间点
参数早于“当前时间”时,是否需要阻止
std::wait_until
(C++11)的双参数版本(即不带谓词的版本)


如果不阻塞,它是否仍然返回
std::cv_status::timeout

如果在调用之前发出了互斥信号,则即使没有超过超时,它也不会阻塞,返回std::cv_status::no_timeout。如果互斥锁未发出信号,则例程将阻塞,直到发出信号或时间到期。返回值为::timeout,仅当超时在发出互斥信号之前过期时才返回。@JVene mutex arn未发出信号,但假设您指的是条件变量,它们不会保留任何被发出信号的内存,因此wait_until()无法知道在调用之前发出了条件变量的信号。在我看来,除非指定的时间点不大于当前时间点,否则调用将被阻止。这确实是我问题的核心。我想知道C++标准是否声明了这个问题,或者它是否留给了标准库实现者。但是请阅读上面的问题(不要在评论中)。这不是你在问题中问的问题。