[concurrency-interest] PriorityBlockingQueue put() operation

Martin Buchholz martinrb at google.com
Sat Nov 7 23:37:32 EST 2009


On Sat, Nov 7, 2009 at 15:00, Joe Bowbeer <joe.bowbeer at gmail.com> wrote:

>
> Wikipedia currently makes this distinction:
>
>   "In computer science, non-blocking synchronization ensures that threads
> competing for a shared resource do not have their execution indefinitely
> postponed by mutual exclusion. A non-blocking algorithm is lock-free if
> there is guaranteed system-wide progress; wait-free if there is also
> guaranteed per-thread progress."
>
>   http://en.wikipedia.org/wiki/Non-blocking_synchronization
>
> So non-blocking < lock-free < wait-free ?
>
>
I read it a little differently.
"lock-free" is a kind of "non-blocking synchronization",
the weakest kind.  So:
non-blocking <= lock-free < wait-free

non-blocking synchronization cannot involve locks,
since some thread can acquire the lock and never be scheduled again,
causing *all* threads to
"have their execution indefinitely postponed by mutual exclusion".

Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20091107/f4300912/attachment.html>


More information about the Concurrency-interest mailing list