J'ai une application multithread qui doit lire certaines données souvent, et occasionnellement ces données sont mises à jour. Actuellement, un mutex garde l'accès à ces données en toute sécurité, mais il est coûteux car je voudrais que plusieurs threads puissent lire simultanément, et les verrouiller uniquement lorsqu'une mise à jour est nécessaire (le thread de mise à jour pourrait attendre que les autres threads aient terminé).
Je pense que c'est ce que boost::shared_mutex
est censé faire, mais je ne sais pas comment l'utiliser et je n'ai pas trouvé d'exemple clair.
Quelqu'un a-t-il un exemple simple que je pourrais utiliser pour commencer ?
0 votes
L'exemple de 1800 INFORMATION est correct. Voir aussi cet article : Quoi de neuf dans Boost Threads ? .
0 votes
Duplicata possible de Verrous de lecteur/écriture en C++