From: David Jencks [mailto:[EMAIL PROTECTED] Sent: Thursday, July 08, 2004 6:24 PM To: [EMAIL PROTECTED] Subject: Thread pool strategy
I've been working with the thread pools and PooledExecutor from concurrent a bit lately and understand how they work a little better than I used to:-)
I've changed the ThreadPool implementation to:
have a hard max size limit (and minSize == maxSize) have a Queue that all waiting tasks are put on. No task is ever executed in the calling thread.
I think this is the most appropriate policy for all thread pools in geronimo. I'd be interested in other opinions... I don't consider myself an expert in this.
I'm not sure if the current implementation ever gets smaller, since the
minsize == maxsize. Having maxSize > minSize would involve writing a LinkedQueue subclass that can communicate with the PooledExecutor to
determine if the pool size < maxSize. I'm reluctant to introduce this
complication without evidence that it is needed.
Many thanks david jencks
I would suggest asking Doug Lea about this. He inexplicably seems to always have time to be helpful in this area, where he is the GooRoo. http://gee.cs.oswego.edu/dl/
I think this thread pool via PooledExecutor thing is the best thing since sliced bread. I use it whenever it is possible on my sites and have a standard mechanism for running tasks through this sort of implementation whenever it makes any sense whatsoever.
I don't know enough about geronimo to be much help to you here, however. I don't quite know how to get involved with the list. That has been a standard problem with me and lists which I am trying to solve.
Michael
