[C++]boost::unique_lock与boost::lock_guard区别 博客分类: C/C++ boost
程序员文章站
2024-03-06 13:24:49
...
关键字:thead、多线程、锁
lock_guard
boost::mutex mutex; boost::lock_guard<boost::mutex> lock(mutex);
unique_lock
boost::mutex mutex; boost::unique_lock<boost::mutex> lock(mutex);
- 如果只是为了保证数据同步,那么lock_guard完全够用;
- 如果除了同步,还需要使用condition进行阻塞时,那么就需要用unique_lock。
- boost还要一个boost::mutex::scoped_lock,这个是boost::unique_lock<boost::mutex>的typedef,在C++11中已经禁用。
参考:
boost::unique_lock vs boost::lock_guard
http://*.com/questions/6731027/boostunique-lock-vs-boostlock-guard