[concurrency-interest] ThreadPoolExecutor's allowCoreThreadTimeOut

Moran Avigdor moran at gigaspaces.com
Sun Aug 26 05:26:59 EDT 2007

I have noticed some strange behavior using the ThreadPoolExecutor when
moving to java 1.6 (1.6.0_02-b06 on windows xp)

Core pool threads were being terminated although I was explicitly
setting the core pool size:


ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long
keepAliveTime,  TimeUnit unit,

                              BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory) 


I noticed it when JConsole was up and monitoring the thread consumption.
After my 1 min timeout, all threads were terminated.


In 1.6, the new allowCoreThreadTimeOut(boolean value) will in fact
explain this behavior if value is set to true - But I am not explicitly
calling it, but instead using the constructor above.

I should not that on a linux running 1.6.0-rc-b104 it seemed to have
behaved as expected.
Is anyone aware of such a fix or a known issue? 
Thanks in advance.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/attachments/20070826/7be99675/attachment.html 

More information about the Concurrency-interest mailing list