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秒