首页 > 代码库 > c++ 多个线程读一个线程写同步
c++ 多个线程读一个线程写同步
这种情况一般多个线程读是不需要加锁的。就在写的时候需要加锁。
那么要做的就是让不写的时候,读不受同步限制。让多线程自由的读。
这个时候就要用读写锁
boost已经有读写锁,而c++ 14才有读写锁。
std::shared_mutex write; //use boost‘s or c++14 // One write, no reads.void write_fun(){ std::lock_guard<std::shared_mutex> lock(write); // DO WRITE}// Multiple reads, no writevoid read_fun(){ std::shared_lock<std::shared_mutex> lock(write); // do read}
c++ 多个线程读一个线程写同步
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。