Como solicitar ao CompletableFuture usar threads não daemon?

Eu escrevi o seguinte código:

 System.out.println("Main thread:" + Thread.currentThread().getId());
 CompletableFuture<Void> future = CompletableFuture.runAsync(() -> {
     try {
         System.out.println("Before sleep thread:" + Thread.currentThread().getId(), + " isDaemon:" + Thread.currentThread().isDaemon());
          Thread.sleep(100);
          System.out.println("After sleep");
      } catch (InterruptedException e) {
          e.printStackTrace();
      }
  });
  future.whenComplete((r, e) -> System.out.println("whenCompleted thread:" + Thread.currentThread().getId()));

e este imprime:

Main thread:1
Before sleep thread:11 isDaemon:true

e acabamentos.

Como posso mudar esse comportamento?

P.S. Não vejo nada relacionado emrunAsync java doc

questionAnswers(2)

yourAnswerToTheQuestion