title: Return to main thread as soon as one child thread throws an exception
body: <p>I'm using <code>Executors.newCachedThreadPool()</code> and <code>invokeAll</code> with a List of <code>Callable</code>s to do long-running multithreaded processing.
  My main thread is blocked until all threads did finish and I can process the Futures returned by <code>invokeAll</code>. I'd like however <code>invokeAll</code> to immediately return if one of the <code>Callable</code>s throw an exception and terminate the other threads.</p>
  
  <p>Using <code>execute</code> instead of <code>invokeAll</code> would block on the first <code>future.get()</code> which needs not to be the one that throws the execption.</p>
  
  <p>Using busy waiting to loop through all the futures and checking <code>isDone()</code> seems not to be the best way either.</p>