title: How to execute only one thread and receive a Future without creating an ExecutorService?
body: <p>I need to execute only a a single thread with the ability to cancel it. I found that I can achieve this using <code>Future&lt;T&gt;</code>s. Right now I use it like this:</p>
  
  <pre><code>ExecutorService executorService = Executors.newSingleThreadExecutor();
  Future&lt;Void&gt; future = executorService.submit(copyCallable);
  executorService.shutdown();
  </code></pre>
  
  <p>Since <code>ExecutorService</code>s are usually used to manage a multiple threads, I was wondering if there was a more efficient way to achieve this without creating one. Thanks.</p>