程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> boost::thread 線程鎖

boost::thread 線程鎖

編輯:關於C語言

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秒

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved