[C++]boost::unique_lock与boost::lock_guard区别

阅读更多

关键字:thead、多线程、锁

 

lock_guard

boost::mutex mutex;
boost::lock_guard lock(mutex);

 

unique_lock

boost::mutex mutex;
boost::unique_lock lock(mutex);

 

  • 如果只是为了保证数据同步,那么lock_guard完全够用;
  • 如果除了同步,还需要使用condition进行阻塞时,那么就需要用unique_lock
  • boost还要一个boost::mutex::scoped_lock,这个是boost::unique_locktypedef,在C++11中已经禁用。

 

参考:

boost::unique_lock vs boost::lock_guard

http://stackoverflow.com/questions/6731027/boostunique-lock-vs-boostlock-guard

 

你可能感兴趣的:(boost)