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

Brian Goetz brian at quiotix.com
Tue May 17 22:10:37 EDT 2005


> I have to agree. Using blocking for flow control is extremely reasonable.
> I'm quite surprised that this has turned out to be so difficult.
> 
> Defining a RejectedExecutionHandler that interacts with the queue to do a
> blocking put seems like a reasonable approach in principle, but there are no
> guarantees it will work as you don't know what the pool does with a command
> before submitting to the queue (ie wrapping in some internal housekeeping
> class).

We had this discussion a few weeks ago on the -jsr list, where I also 
asked why there was no way to effectively execute() block, which would 
provide both throttling (the same way that caller-runs does) and 
preserve in-order execution (which caller-runs does not.)  Doug 
responded that in practice, this policy was not as sound as it, well, 
sounds.


More information about the Concurrency-interest mailing list