Re: Nested ManagedBlockers are benign?

Roman Leventov via Concurrency-interest <[email protected]>
Newsgroups gmane.comp.java.jsr.166-concurrency
Message-ID <CAAMLo=YstWS7Sti2S++TcuhqywA8x=TW6iz3RRq=ahhW+XTVbg@mail.gmail.com>
Thanks for the clarification.

Do you think it makes sense to prevent nested ManagedBlockers from creating
many workers? Seems to me it might be done with a single flag
in ForkJoinWorkerThread.

On Wed, 22 Jan 2020 at 14:29, Doug Lea via Concurrency-interest <
[email protected]> wrote:

> On 1/20/20 3:44 PM, Roman Leventov via Concurrency-interest wrote:
> > Does calling FJP.managedBlock() within another FJP.managedBlock() call
> > usually or always not cause an additional thread to spin up the second
> > compensation thread needlessly?
>
> There is nothing built into FJ that remembers if you've called
> managedBlock, so if implementations of block() invoke another
> ManagedBlocker.block, then FJ may reserve or create multiple worker
> threads. Wrapping a large amount of code, most of which does not block,
> inside ManagedBlock.block is not recommended. On the other hand, it may
> be better than some alternatives in practice.
>
> The ManagedBlocker API was designed for tight wrapping of blocking code.
> The reason for "isReleasable" is to reduce false-alarms when blocking is
> not necessary: internally, we take snapshot of pool state, then check
> isReleasable, then, in effect, compareAndSet state, as a check that
> releasability status coincides with state.
>
> And it is a good time for a reminder that when programs rely on
> non-blocking sync/IO, less infrastructure of any kind is needed to
> obtain acceptable performance, although sometimes at the expense of
> other kinds of overhead.
>
> -Doug
>
>
> _______________________________________________
> Concurrency-interest mailing list
> [email protected]
> http://cs.oswego.edu/mailman/listinfo/concurrency-interest
>

_______________________________________________
Concurrency-interest mailing list
[email protected]
http://cs.oswego.edu/mailman/listinfo/concurrency-interest
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.