title: what is the advantage of using FutureTask over Callable?
body: <p>There are two approaches to submitting and polling task for result</p>
  
  <pre><code>FutureTask futureTask = new FutureTask&lt;String&gt;(callable);
  </code></pre>
  
  <ol>
  <li><p>Use combination of <code>Callable</code> and <code>Future</code> and submit on <code>ExecutorService</code>. Retrieve result using <code>future.get()</code>.</p>
  
  <pre><code>Future future = service.submit(callable);
  </code></pre></li>
  <li><p>Use <code>FutureTask</code>. This will wrap <code>Callable</code> and then retrieve result using <code>FutureTask</code>.</p>
  
  <pre><code>service.execute(task);
  </code></pre></li>
  </ol>
  
  <p>What is the advantage of using <code>FutureTask</code> over <code>Callable</code> + Future combination ?</p>