关于boost :: lock_guard和boost :: unique_lock

时间:2013-05-13 21:04:03

标签: c++ multithreading boost locking mutex

我希望有人可以告诉我,如果我对以下3个锁的理解是正确的并且可能会添加它。我主要担心的是速度和最小开销。

  • boost::lock_guard
  • boost::unique_lock
  • boost::scoped_lock

boost::lock_guard是最轻的一种锁,仅在进程成员之间共享。 unique_lock是lock_guard的改进版本,具有更多功能。 scoped_lock允许锁定不同的进程.scoped_lock是所有锁中最重的。我的理解是正确的。然而,线程here表明scoped_lock类似于unique_lock。如果是这样,那意味着scoped_lockunique_lock一样重?

1 个答案:

答案 0 :(得分:0)

如果你的意思是重量是开销量,那么是scoped_lock和unique_lock一样重,因为它们是同一个东西。根据{{​​3}},一个独特的锁具有比lock_guard更多的功能,代价是一些开销。