Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2006-10-24 10:07:34


Anthony Williams wrote:
> "Peter Dimov" <pdimov_at_[hidden]> writes:
>
>> Chris Thomasson wrote:
>>> Here is the initial experimental pseudo-code that I am thinking
>>> about prototyping in IA-32 Assembly:
>>>
>>> http://groups.google.com/group/comp.programming.threads/browse_frm/thread/5ffb0ed46a4bcb4b
>>
>> Seems like it can work. Don't you only need one bit for writes
>> though?
>
> It's essentially the same algorithm I've used in my latest offering
> on the thread_rewrite branch.
>
> http://boost.cvs.sourceforge.net/boost/boost/boost/thread/win32/read_write_mutex.hpp?revision=1.1.2.8&view=markup&pathrev=thread_rewrite

Do you plan to document the algorithm? I'm interested in the following
scenario:

- K active readers are holding the lock
- a writer is waiting for the above
- L readers are wating for the writer

Since you seem to only store K+L (Chris's algorithm has separate counts),
how do you know when to signal the writer?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk