title: Wait on any future in Java 8 without creating thread per future
body: <p>I have a collection of futures and I would like to wait on any of them, meaning have a blocking call that will return once any future is done.</p>
  
  <p>I saw <code>CompletableFuture.anyOf()</code> but if I understood its code correctly it creates a thread per future, I would like to use a less wasteful approach in terms of resources, if its possible in Java.</p>