From: Howard Hinnant (hinnant_at_[hidden])
Date: 2004-08-10 12:24:44
On Aug 9, 2004, at 5:30 PM, Alexander Terekhov wrote:
> Howard Hinnant wrote:
>> The alternative in this link looks very familiar. I'm currently using
>> two condition variables, ...
> POSIX condition variables strive for "wait-morphing". So you'll end up
> with "serial wakes" (quite a waste on, say, 32-way box). The problem
> is that waiters must reacquire the mutex. tail_* stuff is supposed to
> NOT have this requirement (it's meant to use the associated mutex for
> waiters queue "protection"... a la Java monitors, in a way). Well,
> take also a look at:
Ok, I think I understand now. You are expediting the "thundering herd"
of waiting readers when a writer unlocks on a multi-processor.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk