1

次の 3 つのロックに関する私の理解が正しいかどうか、誰かが教えてくれることを期待していました。私の主な関心事は、オーバーヘッドを最小限に抑えた速度です。

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

boost::lock_guard最も軽い種類のロックで、プロセスのメンバー間でのみ共有されます。これunique_lockは、より多くの機能を備えた lock_guard の改良版です。scoped_lockscoped_lock は、すべてのロックの中で最も重いロックです。私の理解は正しいですか。 ただし、ここのスレッドは、scoped_lock が unique_lock に似ていると述べています。もしそうなら、それscoped_lockは同じくらい重いということunique_lockですか?

4

1 に答える 1

0

重いという意味がオーバーヘッドの量である場合、はい、scoped_lock は unique_lock と同じくらい重いです。それらは同じものだからです。thisによると、一意のロックには lock_guard よりもいくつかの機能がありますが、オーバーヘッドが少しかかります。

于 2013-05-13T23:13:00.907 に答える