Tôi có một ứng dụng đa luồng phải đọc một số dữ liệu thường xuyên và đôi khi dữ liệu đó được cập nhật. Ngay bây giờ mutex giữ quyền truy cập vào dữ liệu đó an toàn, nhưng nó đắt tiền vì tôi muốn nhiều luồng có thể đọc đồng thời và chỉ khóa chúng khi cần cập nhật (luồng cập nhật có thể đợi các luồng khác hoàn thành) .
Tôi nghĩ đây là những gì boost::shared_mutex
phải làm, nhưng tôi không rõ về cách sử dụng nó và chưa tìm thấy một ví dụ rõ ràng.
Có ai có một ví dụ đơn giản mà tôi có thể sử dụng để bắt đầu không?