boost::mutex
から使いますboost/thread/mutex.hpp
。ミューテックスscoped_lock
をロック/ロック解除するにはunique_lock
、いくつかの方法があります。lock_guard
::lock()
::unlock()
lock()
unlock()
これはboost::scoped_mutex
ミューテックスを使用する最も一般的な方法の 1 つです。メンバー関数::lock()
やよりも好ましいのはなぜ::unlock()
ですか?
特に、なぜ使用する必要があるのですか
{
boost::scoped_lock lock(mutex)
// ...
// read/output sharing memory.
// ...
}
それよりも
mutex.lock()
// ...
// read/output sharing memory.
// ...
mutex.unlock()
scoped_lock
いくつかのスタイルコーディングの観点から優れているか、それとも「スレッドセーフで十分」ではありませ::lock()/::unlock()
んか?