The default of 0 results in more threads than I'd expect. It was double the number of cores I think. 

Shouldn't it be the number of cores?

```java
Runtime.getRuntime().availableProcessors()
```