I understand that the template parameter of std::lock_guard is representing anything BasicLockable type.
That makes the following code block valid.
std::recursive_timed_mutex m;
//.
//.
//.
std::lock_guard<std::recursive_timed_mutex> guard(m);
I have rarely seen a BasicLockable other than std::mutex is used, though. This makes me think std::mutex is just for general mutual exclusion usage. Even tough their definitions are out there, I wanted to look for use cases of other BasicLockable s but couldn't find much.
So my question is, what are the use cases of recursive_mutex/timed_mutex/recursive_timed_mutex?
Aucun commentaire:
Enregistrer un commentaire