CompletableFuture 的并发度是什么?
时间: 2023-11-10 18:02:27 浏览: 93
并发容器和线程池,java并发编程3
CompletableFuture 的并发度是指可以同时执行的 CompletableFuture 的数量。也就是说,当我们使用 CompletableFuture 并发地执行多个任务时,我们可以控制同时执行的 CompletableFuture 的数量。
在 CompletableFuture 中,我们可以使用 `CompletableFuture.supplyAsync`、`CompletableFuture.runAsync` 和 `CompletableFuture.thenApplyAsync` 等方法来创建异步的任务。这些方法都接受一个可选的 `Executor` 参数,用于指定任务的执行器。通过使用不同的执行器,我们可以控制并发度。
如果我们不指定执行器,则任务将默认在公共的 `ForkJoinPool` 中执行。`ForkJoinPool` 是一种支持工作窃取的线程池,它会根据需要自动增加或减少执行任务的线程数量。
如果我们想要自定义并发度,可以创建一个自定义的 `Executor` 实例,并将其传递给相关的方法。例如,可以使用 `Executors.newFixedThreadPool(int nThreads)` 方法创建一个固定大小的线程池,并将其作为参数传递给 `CompletableFuture.supplyAsync` 方法来限制并发度。
阅读全文