[concurrency-interest] PooledExecutor vs java.util.concurrent

Doug Lea dl at cs.oswego.edu
Wed May 18 09:50:07 EDT 2005


On Wed, 2005-05-18 at 16:21 +0930, Jonathan Baxter wrote:

> Is that list public? Can you cross post Doug's reasoning here? If the problem 
> is primarily one of guaranteeing in-order execution, I'd happy to give that 
> away in return for some kind of approximate guarantee modulo starvation. IMO, 
> Blocked execution for flow control is way too useful a baby to throw out with 
> the bathwater. 


I'm away at some meetings (greetings from Dublin) so can't dig them
out easily at the moment, but the reasons for omitting waitWhenBlocked
were: 

(1) It was the single biggest source of bug-reports in
dl.util.concurrent because its range of correct operation is
very small -- you have to use just the right combinations of
other parameters, and even so there are inherent races you need
to be aware of. (For example, some common utility in JBoss had
consequential problems along these lines until they changed it.)  

(2) As Tim mentioned, a version supporting it really ought to
be able to cancel out on interruption, which the new API doesn't
support (for good reasons).

So my main conclusion here was that if you are smart enough to
know exactly how you'd like this to work, you don't need
us to build it for you :-)

-Doug




More information about the Concurrency-interest mailing list