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