J'ai une application multithread qui doit souvent lire certaines données, et parfois ces données sont mises à jour. À l'heure actuelle, un mutex garde l'accès à ces données en toute sécurité, mais c'est cher car j'aimerais que plusieurs threads puissent lire simultanément et ne les verrouiller que lorsqu'une mise à jour est nécessaire (le thread de mise à jour pourrait attendre que les autres threads se terminent) .
Je pense que c'est ce qui 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?