1

我希望有人能告诉我我对以下 3 把锁的理解是否正确并可能添加到它。我主要关心的是速度和开销最小。

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

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

4

1 回答 1

0

如果您所说的重是开销的数量,那么是的,scoped_lock 与 unique_lock 一样重,因为它们是同一回事。据此唯一锁具有比 lock_guard 更多的功能,但代价是一些开销。

于 2013-05-13T23:13:00.907 回答