+1 - Executor seems the right interface, didn't exist when workers were
started - ifanyone needs the pool behavior it can probably be implemented as
an Executor.

I assume you'll have some way to configure what kind of executor ?

Costin

On Fri, Aug 14, 2009 at 1:30 AM, Mark Thomas <ma...@apache.org> wrote:

> Filip Hanik - Dev Lists wrote:
> > Here is why I think its good
> >
> > 1. Current pools can't shrink, so when peak has been hit, that's where
> > were at
> > 2. Current pools are unfair, synchronized (workers) { workers.wait() },
> > executors are a bit more fair since they only hold a lock for a short
> > period
> > 3. Reduce duplicate code
> > 4. Executors provide more flexibility
> > 5. I have not found a performance difference anymore
> > 6. Async implementation becomes much easier, since
> > AsyncContext.dispatch() is easily handed off to an executor and
> > releasing application thread. Otherwise we have to add an executor on
> > top of the existing thread pool, which is doable, just not pragmatic
>
> If you mean give each connector it's own executor by default and the
> option to use a shared executor then +1
>
> For the record, it was point 6 that made the argument for me.
>
> Mark
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

Reply via email to