title: ExecutorService awaitTermination gets stuck
body: <p>I made a fixed size thread pool with <code>Executors.newFixedThreadPool(2)</code>, and I executed 10 <code>Runnable</code> objects. I set breakpoints and traced through the execution. However, <code>fixedSizeThreadPool.awaitTermination()</code> does not allow me to continue even though all the tasks are done. </p>
  
  <p>Basically:</p>
  
  <pre><code>ExecutorService fixedThreadPool = Executors.newFixedThreadPool(2);
  for (int i = 0; i &lt; 10; ++i) {
      fixedSizeThreadPool.execute(myRunables[i]);
  }
  try {
      fixedSizeThreadPool.awaitTermination(timeout, timeoutUnits);
  } catch (Exception e) { }
  System.out.println("done!");
  </code></pre>
  
  <p>But this always gets stuck on <code>awaitTermination</code>. What's wrong?</p>