title: Executors use and cost penalty
body: <p>Some questions about Executors best usage for memory and time performance:</p>
  
  <ol>
  <li><p>Is there any cost penalty incurred for the use of</p>
  
  <pre><code>ExecutorService e = Executors.newSingleThreadExecutor();
  e.execute(callable)
  e.shutdown()
  </code></pre>
  
  <p>compared to:</p>
  
  <pre><code>new Thread(runnable).start()
  </code></pre></li>
  <li><p>If a <code>Callable</code> is not a long one, and never won't be more than one instance running of it it's ok to use the code from (1)?  Or is it best to have <code>ExecutorService</code> as a static instance and reuse between calls?</p></li>
  <li><p>If I have several tasks as described in (2) is there any problem with every task to having its own executor service or is better to have a centralized one? (I'm talking about a client application where normally there won't be more than one of these tasks running)</p></li>
  <li><p>What resources does an <code>Executor</code> consume if it isn't shutdown()?</p></li>
  </ol>