首页 > 代码库 > boost::thread 线程锁
boost::thread 线程锁
1.boost锁的概述:
boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁。
2.mutex对象类(主要有两种):
1.boost::mutex(独占互斥类) --> 有lock和unlock方法
2.boost::shared_mutex(共享互斥类) --> 有lock和unlock方法 And shared_lock和shared_unlock方法
3. lock模板类:
1.boost::unique_lock<T>(独占锁) : unique_lock<T>中的 T 可以为mutex类中的 任意 一种; 自动调用lock和unlock方法
2.boost::shared_lock<T>(共享锁) : shared_lock<T>中的 T 只能是shared_mutex类; 自动调用shared_lock和shared_unlock方法
4.递归式的互斥量:
boost::mutex::scoped_lock
boost::mutex io_mutex;
void foo( )
{
{
boost::mutex::scoped_lock lock( io_mutex ); /// 锁定
} /// 解锁
}
5.设置锁超时:
boost::unique_lock<boost::timed_mutex> lk( io_mutex , std::chrono::milliseconds(3) ); // 超时3秒
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。