From dc072b8b8ab621992b1313d0286698cdd98dde9d Mon Sep 17 00:00:00 2001 From: 8ga Date: Thu, 11 Sep 2025 09:38:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Java=5F3-5.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Java_3-5.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Java_3-5.md b/Java_3-5.md index b788470..b4d65fc 100644 --- a/Java_3-5.md +++ b/Java_3-5.md @@ -16,7 +16,9 @@ **继续追问** -假定有3个Runnable对象,分别是task1、task2、task3作为查询函数对象,如何调度或者编排这3个task + +假定有3个Runnable对象,分别是task1、task2、task3作为查询函数对象,如何调度或者编排这3个task? + ```java Runnable task1 = () -> System.out.println("Task 1"); @@ -26,12 +28,14 @@ Runnable task3 = () -> System.out.println("Task 3"); **方案一、CompletableFuture** + +使用 CompletableFuture 的 runAsync 函数,声明3个异步任务。通过 CompletableFuture 的 allOf 函数,添加3个异步任务,调用 get 函数阻塞。 + + ```java -// 使用 CompletableFuture 的 runAsync 函数,声明3个异步任务 CompletableFuture cf1 = CompletableFuture.runAsync(task1); CompletableFuture cf2 = CompletableFuture.runAsync(task2); CompletableFuture cf3 = CompletableFuture.runAsync(task3); -// 通过 CompletableFuture 的 allOf 函数,添加3个异步任务,调用 get 函数阻塞 CompletableFuture.allOf(cf1, cf2, cf3).get(); ```