1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Whenever a `ThreadPoolExecutor` is constructed with an unbounded `workQueue`,
the pool size will never go beyond `corePoolSize`. Using `maximumPoolSize`
greater than `corePoolSize` in such case will not have any impact on the maximum
bound of pool size.
Bad:
```java
new ThreadPoolExecutor(
/* corePoolSize= */ 1,
/* maximumPoolSize= */ 10,
/* keepAliveTime= */ 60,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>());
```
Good:
```java
new ThreadPoolExecutor(
/* corePoolSize= */ 10,
/* maximumPoolSize= */ 10,
/* keepAliveTime= */ 60,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>());
```
```java
new ThreadPoolExecutor(
/* corePoolSize= */ 1,
/* maximumPoolSize= */ 10,
/* keepAliveTime= */ 60,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(QUEUE_CAPACITY));
```
|