Saya memiliki aplikasi multithread yang harus sering membaca beberapa data, dan terkadang data tersebut diperbarui. Saat ini mutex menjaga akses ke data itu tetap aman, tetapi itu mahal karena saya ingin beberapa utas dapat membaca secara bersamaan, dan hanya menguncinya ketika pembaruan diperlukan (utas pembaruan dapat menunggu utas lain selesai) .
Saya pikir inilah yang boost::shared_mutex
seharusnya dilakukan, tetapi saya tidak jelas tentang cara menggunakannya, dan belum menemukan contoh yang jelas.
Adakah yang punya contoh sederhana yang bisa saya gunakan untuk memulai?