我想知道为什么我不能在C ++ 14(或17)
中做到这一点preg_match("/^\S*[A-Z]\S*[A-Z]\S*$/", $text)
条件变量似乎只适用于std :: mutex。但为什么?
答案 0 :(得分:11)
这是由标准定义的,以实现最高的实施效率。如果您想使用condition_variable
的其他锁,则需要使用condition_variable_any
。请注意,condition_variable_any
实现虽然有一些开销。
引用标准:30.5条件变量
类
condition_variable
提供只能的条件变量 等待unique_lock<mutex>
类型的对象,允许最大值 在某些平台上的效率。