What is the GPars default pool size?

2.3k views Asked by At

I thought this would have been an easy thing to find but I've failed.

If I use GPars in my Groovy application and I don't specify a pool size how many threads will be created? Is there a default pool size without setting one?

// How many threads will be created? What is the default pool size?
GParsExecutorsPool.withPool {
    // do stuff...
}
2

There are 2 answers

1
tim_yates On BEST ANSWER

It is (by default) set to

private static int defaultPoolSize() {
  return Runtime.getRuntime().availableProcessors() + 1;
}

You can alter this (I believe) by setting a System property called gpars.poolsize to a valid Integer

1
Grooveek On

As many as you have CPU units plus one, as shown by the PoolUtils class source, or from a system property

retrieveDefaultPoolSize() is called once as a final static variable by the GParsPool class when it's initialized