Mutex C++
C++11 has added many improvements to help us developing multi-thread systems. I'm going to talk about Mutex.
In previous C++11 compiler versions, we can get a pthread mutex, but we must initialize it and destroy it in old C style, in the end you must do more things than just lock/unlock.
With C++11 Mutex Class, we just lock/unlock the object.
#include <mutex>
std::mutex mtx;
void do_something (int i) {
mtx.lock();
// critical section
mtx.unlock();
}
Or you can just use Mutex with a generic lock guard.
Tip: If you still have to stick to previous C++11 compiler versions, maybe it is useful to you a wrapper class I created that helps you to work with pthread mutex, so you just have to lock/unlock the Mutex object: Gist code.