title: How to chose an Executor for CompletableFuture::supplyAsync
body: <p><code>CompletableFuture::supplyAsync(() -&gt; IO bound queries)</code></p>
  
  <p>How do I chose an Executor for CompletableFuture::supplyAsync to avoid polluting the <code>ForkJoinPool.commonPool()</code>. </p>
  
  <p>There are many options in <code>Executors</code> (<code>newCachedThreadPool</code>, <code>newWorkStealingPool</code>, <code>newFixedThreadPool</code> etc) </p>
  
  <p>And I read about new ForkJoinPool <a href="https://stackoverflow.com/questions/21163108/custom-thread-pool-in-java-8-parallel-stream">here</a></p>
  
  <p>How do I chose the right one for my use case ? </p>