Mam aplikację wielowątkową, która musi często czytać niektóre dane, a czasami te dane są aktualizowane. W tej chwili mutex zapewnia bezpieczny dostęp do tych danych, ale jest drogi, ponieważ chciałbym, aby wiele wątków mogło czytać jednocześnie i blokować je tylko wtedy, gdy potrzebna jest aktualizacja (wątek aktualizacji może czekać na zakończenie innych wątków) .
Myślę, że to właśnie boost::shared_mutex
powinno zrobić, ale nie jestem pewien, jak go używać, i nie znalazłem jasnego przykładu.
Czy ktoś ma prosty przykład, którego mógłbym użyć, aby rozpocząć?