CompletableFuture-线程池运行选择

CompletableFuture-线程池运行选择_第1张图片

如果没有传入自定义线程池,都用默认线程池ForkJoinPool

CompletableFuture-线程池运行选择_第2张图片

传入一个线程池,如果你执行第一个任务时,传入了一个自定义线程池,

调用thenRun方法执行第二个任务时,则第二个任务和第一个任务时共用同一个线程池

调用thenRunAsync执行第二个任务时,则第一个任务使用的是你自定义的线程池,

第二个任务使用的是ForkJoin线程池

可能是线程处理太快,系统优化切换原则, 直接使用main线程处理


你可能感兴趣的:(JUC并发编程与源码分析,java)