Ich habe eine Multithread-App, die einige Daten häufig lesen muss, und gelegentlich werden diese Daten aktualisiert. Momentan schützt ein Mutex den Zugriff auf diese Daten sicher, aber es ist teuer, weil ich möchte, dass mehrere Threads gleichzeitig lesen können und sie nur dann sperren, wenn ein Update erforderlich ist (der Update-Thread könnte warten, bis die anderen Threads abgeschlossen sind). .
Ich denke, das boost::shared_mutex
soll das sein, aber ich weiß nicht genau, wie ich es verwenden soll, und habe kein klares Beispiel gefunden.
Hat jemand ein einfaches Beispiel, mit dem ich anfangen könnte?