我希望有人可以告诉我,如果我对以下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_lock
与unique_lock
一样重?
答案 0 :(得分:0)
如果你的意思是重量是开销量,那么是scoped_lock和unique_lock一样重,因为它们是同一个东西。根据{{3}},一个独特的锁具有比lock_guard更多的功能,代价是一些开销。