Seems that Boost's shared_mutex is non recursive.. Is there anyway around this? (without re implementing the whole stuff)
have a look at this thread and this excellent explanation why shared_mutex
is bad idea in general. so if you don't agree that recursive_mutex
is bad idea too, just use it without any shariness because it cannot give you any performance boost. you'll receive even a bit cleaner code w/o any major changes.
I tried to use shared_mutex in my project to lock highly contested map when many threads often read data and rarely modify it. received a bit worse performance results