If you read the javadoc for java.util.concurrent ThreadPoolExecutor you'll
see that the number of threads will only increase when the queue has
reached its capacity. Crazy / stupid behaviour if you ask me... But
expected.

I've been caught out by this before when I set core pool size to 1,
expecting the thread size to increase under load.
On 1 Jul 2014 02:53, "D Tim Cummings" <t...@triptera.com.au> wrote:

> Hi
>
> I am using Tapestry 5.3.7 and the ParallelExecutor. When I increase the
> max-pool-size I am not able to use any more threads. However when I
> increase the core-pool-size I am able to use more threads. It looks like
> the max-pool-size is not doing anything (or I am not understanding what it
> is supposed to do).
>
> When I use the defaults I get a maximum of 3 threads and other threads
> seem to wait in a queue and execute later.
>
> When I use the following settings in web.xml I still get only 3 threads
>
> <context-param>
>   <param-name>tapestry.thread-pool.core-pool-size </param-name>
>   <param-value>3</param-value>
> </context-param>
> <context-param>
>   <param-name>tapestry.thread-pool.max-pool-size</param-name>
>   <param-value>20</param-value>
> </context-param>
>
> When I use the following settings in web.xml I get 3 threads
>
> <context-param>
>   <param-name>tapestry.thread-pool.core-pool-size </param-name>
>   <param-value>3</param-value>
> </context-param>
> <context-param>
>   <param-name>tapestry.thread-pool.max-pool-size</param-name>
>   <param-value>200</param-value>
> </context-param>
>
> When I use the following settings in web.xml I get 20 threads
>
> <context-param>
>   <param-name>tapestry.thread-pool.core-pool-size </param-name>
>   <param-value>20</param-value>
> </context-param>
> <context-param>
>   <param-name>tapestry.thread-pool.max-pool-size</param-name>
>   <param-value>20</param-value>
> </context-param>
>
> I noticed that the documentation says the default max-pool-size is 20 (
> http://tapestry.apache.org/parallel-execution.html ) while the API docs
> say the default is 10 (
> http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/ioc/IOCSymbols.html
> ).
>
> I am invoking my threads from a service which contains
>
>   @Inject
>   private ParallelExecutor executor;
>
>   @Override
>   public void doStartThread() {
>     if ( myFuture == null || myFuture.isDone() ) {
>       myFuture = executor.invoke(new MyInvokable());
>     }
>   }
>
> I have tried in Jetty 8.1.2 (Run Jetty Run in Eclipse) and Tomcat 7.0.52.
>
> Cheers
>
> Tim
>

Reply via email to