Bonjour,
Quelle est la différence entre un lock et un mutex ?
La documentation de Boost n'est franchement pas claire sur le sujet.
Merci.
Bonjour,
Quelle est la différence entre un lock et un mutex ?
La documentation de Boost n'est franchement pas claire sur le sujet.
Merci.
Le mutex est ce qui permet de bloquer l'accès à des ressources et le lock c'est l'opération de bloquer un mutex, si je ne m'abuse.
Tu as le tutoriel sur l'espace de Matthieu Brucher : http://matthieu-brucher.developpez.com/ ... Regarde dans la partie C++.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Tout à fait![]()
Lock() est un méthode de mutex qui permet effectivement de le bloquer.
Mais il existe également des modèles lock (lock_guard, unique_lock, etc.). Et là, c'est moins clair.
J'y vais de ce pas.Tu as le tutoriel sur l'espace de Matthieu Brucher : http://matthieu-brucher.developpez.com/ ... Regarde dans la partie C++.![]()
Bon, je crois comprendre que les "locks" sont des templates qui prennent en paramètre un type de mutex, et qu'ils seraient l'équivalent des pointeurs intelligents.
Tout comme pour les pointeurs on choisir auto_ptr et shared_ptr, pour les mutex on peut choisir unique_lock et shared_lock (en gros...).
C'est quelque chose dans ce style là ? Vous confirmez ? :-)
Il vaut mieux voir ça sous le principe RAII (ressource acquisition is initialization), principe selon lequel quand tu acquiert une ressource, tu laisses le compilateur s'occuper de la libérer automatiquement, d'où l'intérêt d'utiliser des objets et non des fonctions![]()
Partager