合集-线程同步
摘要:使用条件变量的原因 如果没有条件变量,那么我们等待一个条件满足则会是下面这样的模型: 首先加锁进入临界区去查看条件是否满足,不满足则解锁离开临界区,睡眠一段时间再继续循环判断。在这种情况下如果刚离开临界区,条件变为满足,那么线程必须还要等一段时间重新进入临界区才能知道条件满足(如果在这段时间内,条件
阅读全文
摘要:std::condition_variable 条件变量 void wait( std::unique_lock<std::mutex>& lock ); #1 template< class Predicate > void wait( std::unique_lock<std::mutex>&
阅读全文
摘要:条件变量Condition 函数作用说明: 函数 作用 acquire 线程锁,注意线程条件变量 Condition 中的所有相关函数使用必须在acquire/release内部操作; release 释放锁,注意线程条件变量 Condition 中的所有相关函数使用必须在acquire/relea
阅读全文
摘要:互斥锁 相比std::lock_guard的优势: 功能 std::lock_guard std::unique_lock 自动加锁+自动解锁 支持 支持 手动加锁/解锁 不支持 支持 延迟加锁(defer_lock) 不支持 支持 条件变量wait支持 不支持 支持 可移动(不可复制) 不可移动
阅读全文
摘要:std::recursive_mutex(递归锁) 1. 类原型: Defined in header class recursive_mutex; recursive_mutex。在此期间,线程可能会对lock或try_lock进行额外的调用。当线程进行匹配数量的解锁调用时,所有权期结束。 当一个
阅读全文

浙公网安备 33010602011771号