My understanding is: std::mutex
blocks other threads no matter if they want to read or write, whereas boost::shared_mutex
will allow multiple reads.
So my question is, should I always prefer a boost::shared_mutex
instead of a normal std::mutex
to allow the possibility of parallel reads to take place? Using a normal std::mutex
feels like I am denying some possible read throughput....?