title: Do I need to do a future.get() on a Future that doesn't return a value that I care about?
body: <p>My Java app uses a <code>java.util.concurrent.Executors.newCachedThreadPool()</code> to launch a number of different threads that do different kinds of work.</p>
  
  <p>Some of the threads return a value.  For these, I am using <code>Future.get()</code> to retrieve the value from the thread.</p>
  
  <p>Other threads don't return a value that I care about.  They are declared to return an <code>Object</code>, and the returned value is always <code>null</code>.  For these threads, I am currently calling <code>Future.get()</code> even though there is no value to get.  Is that necessary, or is it pointless?  My thinking was that perhaps <code>Future.get()</code> notifies the thread pool that I'm done with this thread.</p>