title: How to interrupt CompletableFuture::join?
body: <p>I've found that <code>CompletableFuture::join</code> seems <strong>uninterruptible</strong> when not completed:</p>
  
  <pre><code>// CompletableFuture::join implementation from JDK 8 sources
  public T join() { 
      Object r;
      return reportJoin((r = result) == null ? waitingGet(false) : r);
  }
  </code></pre>
  
  <p>In above implementation, <code>waitingGet(false)</code> will ignore the interrupt flag of the working <code>Thread</code> and continue waiting. I'm wondering how can I interrupt a <code>Thread</code> in which I call <code>CompletableFuture::join</code>.</p>