From e021f5256322f21c3cef158075f0c8dcd9841ed1 Mon Sep 17 00:00:00 2001 From: achao Date: Wed, 10 Nov 2021 21:21:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B5=8B=E8=AF=95=E7=94=A8?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/core/thread/SyncUtilTest.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 hutool-core/src/test/java/cn/hutool/core/thread/SyncUtilTest.java diff --git a/hutool-core/src/test/java/cn/hutool/core/thread/SyncUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/thread/SyncUtilTest.java new file mode 100644 index 000000000..846b4614d --- /dev/null +++ b/hutool-core/src/test/java/cn/hutool/core/thread/SyncUtilTest.java @@ -0,0 +1,36 @@ +package cn.hutool.core.thread; + +import cn.hutool.core.lang.Assert; +import org.junit.Test; + +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; + +/** + * CompletableFuture工具类测试 + * + * @author + * @since 2021/11/10 0010 21:15 + */ +public class SyncUtilTest { + + @Test + public void waitAndGetTest() { + CompletableFuture hutool = CompletableFuture.supplyAsync(() -> { + ThreadUtil.sleep(3, TimeUnit.SECONDS); + return "hutool"; + }); + CompletableFuture sweater = CompletableFuture.supplyAsync(() -> { + ThreadUtil.sleep(4, TimeUnit.SECONDS); + return "卫衣"; + }); + CompletableFuture warm = CompletableFuture.supplyAsync(() -> { + ThreadUtil.sleep(5, TimeUnit.SECONDS); + return "真暖和"; + }); + // 等待完成 + SyncUtil.wait(hutool, sweater, warm); + // 获取结果 + Assert.isTrue("hutool卫衣真暖和".equals(SyncUtil.get(hutool) + SyncUtil.get(sweater) + SyncUtil.get(warm))); + } +}