boost学习之boost::lock_guardT与boost::unique_lockT的区别
生活随笔
收集整理的這篇文章主要介紹了
boost学习之boost::lock_guardT与boost::unique_lockT的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1)、boost::lock_guard沒有unlock()功能
boost::mutex mutex;
void foo( )
{
????boost::lock_guard<boost::mutex> lock(mutex);
????process(data);
? ?///沒有unlock()功能,程序結束自動析構
};
(2)、unique_lock允許設置超時,推遲鎖定lock以及在對象銷毀之前unlock。
boost::mutex mutex;
{
????boost::unique_lock<boost::mutex> lk(mutex);
????process( data );
????lk.unlock( );
????// do other thing
};
?
// 設置鎖超時
{
??boost::unique_lock<boost::timed_mutex> lk(mutex, std::chrono::milliseconds(3)); // 超時3秒
??if(lk)
????process( data );
};
?
總結
以上是生活随笔為你收集整理的boost学习之boost::lock_guardT与boost::unique_lockT的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法学习第一天-搭建能运行算法第四版的代
- 下一篇: 如何计算吃鸡游戏的物理碰撞?