[concurrency-interest] ForkJoinPool.ManagedBlocker examples
alex at puredanger.com
Tue Feb 22 20:30:02 EST 2011
Sorry that first hanging sentence should say ... usage is thread-contained.
On Tue, Feb 22, 2011 at 4:27 PM, Alex Miller <alex at puredanger.com> wrote:
> From looking at the source, it does appear that the ManagedBlocker
> instance . One of the things that made me ask the question was the
> example below it that uses volatile for item but I guess that is just
> to support getItem(), right? I guess I now think the examples are
> correct but it would be helpful to add a note in the docs that block()
> and isReleasable() will only be called from the thread that invokes
> A separate question, why are the ForkJoin classes no longer in a
> forkjoin sub-package and just mixed into java.util.concurrent? Seems
> On Tue, Feb 22, 2011 at 3:39 PM, Jed Wesley-Smith
> <jwesleysmith at atlassian.com> wrote:
>> On 23/02/2011, at 3:37 AM, Alex Miller wrote:
>>> Also, in the ReentrantLock example, I note that hasLock is not
>>> volatile which I found surprising. Is the example wrong or is there
>>> really no visibility issue there?
>> Does it make sense at all? Isn't hasLock a thread-local property anyway? That property only seems to make sense if the ManagedLocker is local to a single thread, as hasLock can't transfer between them meaningfully.
>> Might need some more docs here.
More information about the Concurrency-interest