
27 Mar
2014
27 Mar
'14
3:39 p.m.
AMDG On 03/27/2014 01:21 AM, Elad Moshe wrote:
Hi, this is my first post here so please bare with me :) . I recently used upgrade_lock to try access a shared resource from 2 different threads. I noticed that once the first thread acquired its upgrade_lock the second thread was blacked until the first thread unlock it. can someone please explain me the logic behind this behavior? isn't an upgrade lock just a shared_lock that can be upgraded to unique_lock? why not let both threads acquire it just like shared_lock until, and if, they decide to upgrade it to unique_lock?
If both threads tried to upgrade, you would have a deadlock. In Christ, Steven Watanabe