Quando devo preferire il primo pezzo di codice al secondo, e fare hanno differenze fondamentalimutex.lock vs unique_lock
std::mutex mtx;
mtx.lock();
... //protected stuff
mtx.unlock();
... //non-protected stuff
mtx.lock();
... //etc
e
std::mutex mtx;
std::unique_lock<std::mutex> lck(mtx);
... //protected stuff
lck.unlock();
... //non-protected stuff
lck.lock();
... //etc
Capisco che è fondamentalmente un lock_guard unique_lock senza le funzioni di blocco e sblocco, ma sto facendo fatica a differenziare un mutex e un lock usando un mutex.
altamente correlati: http://stackoverflow.com/questions/22873082/is-there- any-idiomatic-explicit-use-of-mutexlock-or-unlock – NathanOliver