new Thread 默认为非守护线程 ,非守护线程在主任务会等待非守护线程完成后再完成,守护线程在主任务完成后就会立即停止CompletableFuture的使用的默认线程池是ForkJoinPool,创建的线程是守护线程,即主线程完成任务立即停止new的ThreadPoolExecutor的线程池在使用默认的线程创建工厂创建的线程是非守护线程,即主线程任务完成会等待子线程完成后再终止