boost::lock_guard vs boost::mutex::scoped_lock

后端 未结 2 656
渐次进展
渐次进展 2020-12-30 19:25

Which is preferred boost::lock_guard or boost::mutex::scoped_lock?

I\'m using Boost.Thread with the hope to move to C++11 threading when it

相关标签:
2条回答
  • 2020-12-30 19:53

    Not much difference between the two. As per Boost, scoped_lock is a typedef for unique_lock<mutex>. Both of unique_lock and lock_guard implement RAII-style locking. The difference between is simply that unique_lock has a more complex interface -- it allows to defer lock and call unlock.

    0 讨论(0)
  • 2020-12-30 20:04

    Amit is right: boost::mutex::scoped_lock is a typedef for boost::unique_lock<boost::mutex>, not lock_guard. scoped_lock is not available in C++0x.

    Unless you need the flexibility of unique_lock, I would use lock_guard. It is simpler, and more clearly expresses the intent to limit the lock to a defined scope.

    0 讨论(0)
提交回复
热议问题