title: What is optimum thread pool size for simple program running cpu based tasks in Java
body: <p>Im using a thread pool to execute tasks , that are mostly cpu based with a bit of I/O, 
  of size one larger than the number of cpus.</p>
  
  <pre><code>Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors() + 1)
  </code></pre>
  
  <p>Assuming case of simple program that submits all its tasks to this executor and does little else I assume having a thread pool any larger would slow things because the OS would have to timeslice it cpus more often chance to give each thread in the threadpool a chance to run. </p>
  
  <p>Is that correct, and if so is this a real problem or mostly theoretical, i.e if I increased threadpool size to 1000 would I notice a massive difference.</p>