title: CompletableFuture runAsync vs supplyAsync, when to choose one over the other?
body: <p>What is the rationale for choosing one over the other? Only difference I could infer after reading the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html#runAsync-java.lang.Runnable-" rel="noreferrer">documentation</a> is that runAsync takes Runnable as an input parameter and supplyAsync takes Supplier as an input parameter.</p>
  
  <p><a href="https://stackoverflow.com/questions/36256337/completablefuture-supplyasync">This</a> stackoverflow post discusses the motivation behind using Supplier with supplyAsync method but it still does not answer when to prefer one over the other.</p>