Can you default num threads to Runtime.getRuntime.availableProcessors. Or is there a specific reason this has been set to 3?