On Sun, 11 May 2008 21:09:26 +0100, John McCabe wrote:
> "Dmitry A. Kazakov" <mailbox@[EMAIL PROTECTED]
> wrote:
>
>>This version provides implementations of various locking primitives:
>>
>> - Plain events which can be signaled, reset and awaited for;
>> - Arrays of events which can be signaled, reset and awaited in any
>>combination of in race condition free way;
>> - Arrays of reentrant mutexes, deadlock-free with an enforced order
of
>>locking;
>> - Race condition free event distributing pulsed value to multiple
tasks;
>> - Reentrant mutexes;
>> - Race condition free pulse events.
>
> Are any of these (and your earlier releases on shared objects etc)
> based on the discussions in the Burns & Wellings book?
As far as I can tell, no.
For example, they solve the dining philosophers using a butler task. The
solution based on an array of mutexes uses no extra tasks, instead,
seizing
forks is atomic. (If not, due to a programming error, an exception is
propagated when one of the philosophers starts eating. That is locking
ordering enforcing.)
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


|