
1. 使用自定义线程池不要默认使用 ForkJoinPoolExecutorService pool Executors.newFixedThreadPool(10); CompletableFutureUser userFuture CompletableFuture.supplyAsync( () - userService.get(id), pool); CompletableFutureOrder orderFuture CompletableFuture.supplyAsync( () - orderService.get(id), pool);2. 组合结果CompletableFutureDetail result userFuture .thenCombine(orderFuture, Detail::new) .orTimeout(3, TimeUnit.SECONDS) .exceptionally(ex - Detail.fallback());3. 常见坑使用join()阻塞主线程。异常未处理导致问题被吞掉。共用默认线程池影响其他任务。忘记设置超时。4. 最佳实践业务隔离线程池。使用handle或exceptionally处理异常。设置超时和降级逻辑。