From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-04-27 18:06:48
Matt Hurd wrote:
>> Peter Dimov <pdimov_at_[hidden]> wrote:
>> The canonical definition of "lock free" is that the system as a
>> whole always makes progress. An ordinary lock-based algorithm does
>> not have this property; if the thread that obtained the lock
>> suddenly dies, no other thread can move past that lock.
> Thanks for clearing up the definition. Though I do find it confusing
> as I've seen people call stuff lock-free where the approach uses
> versioning and retry semantics based on an optimistic concurrency
This can still be lock-free; even though a particular thread is not
guaranteed to make progress, _some_ thread is.
When every thread is guaranteed to make progress in a finite number of steps
the algorithm is called "wait-free".
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk