AW: [concurrency-interest] Waiting for object value to be available.

Ernst, Matthias matthias.ernst at
Tue Aug 23 14:12:52 EDT 2005

Interesting challenge, actually.

Tim's SimpleAvaitableValue does it, yet I was hoping to find a simple
lock-free version that avoids "lock-getValue-unlock"-sequence in the
common case (value != null) and requires only a volatile read.

So I thought, "AbstractQueuedSynchronizer implements all the queueing,
you just have to model the state transitions", and tried to morph AQS by
changing the state type from 'int' to 'Object'.

This proved more complicated than I had expected :-)

Is this a case for separating the queueing functionality from the
integer state and the notion of shared/exclusive?


More information about the Concurrency-interest mailing list