title: Shall Callable be preferred over Runnable?
body: <p>I have understood the difference between <code>Runnable</code> and <code>Callable</code> interface in Java. From Java 1.5 additional features has been added to <code>Runnable</code> interface and has been called <code>Callable</code> in order to maintain backward compatibility. </p>
  
  <p>My questions is now that we have <code>Callable</code> interface, shall we always use that? What are the use cases of not using <code>Callable</code> and using <code>Runnable</code>? </p>
  
  <p>(<a href="https://stackoverflow.com/questions/141284/the-difference-between-the-runnable-and-callable-interfaces-in-java">This</a> is a good article on what are the differences between them) </p>