mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add AsyncUtil
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package cn.hutool.core.thread;
|
||||
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -12,25 +13,26 @@ import java.util.concurrent.TimeUnit;
|
||||
* @author <achao1441470436@gmail.com>
|
||||
* @since 2021/11/10 0010 21:15
|
||||
*/
|
||||
public class SyncUtilTest {
|
||||
public class AsyncUtilTest {
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void waitAndGetTest() {
|
||||
CompletableFuture<String> hutool = CompletableFuture.supplyAsync(() -> {
|
||||
ThreadUtil.sleep(3, TimeUnit.SECONDS);
|
||||
ThreadUtil.sleep(1, TimeUnit.SECONDS);
|
||||
return "hutool";
|
||||
});
|
||||
CompletableFuture<String> sweater = CompletableFuture.supplyAsync(() -> {
|
||||
ThreadUtil.sleep(4, TimeUnit.SECONDS);
|
||||
ThreadUtil.sleep(2, TimeUnit.SECONDS);
|
||||
return "卫衣";
|
||||
});
|
||||
CompletableFuture<String> warm = CompletableFuture.supplyAsync(() -> {
|
||||
ThreadUtil.sleep(5, TimeUnit.SECONDS);
|
||||
ThreadUtil.sleep(3, TimeUnit.SECONDS);
|
||||
return "真暖和";
|
||||
});
|
||||
// 等待完成
|
||||
SyncUtil.wait(hutool, sweater, warm);
|
||||
AsyncUtil.waitAll(hutool, sweater, warm);
|
||||
// 获取结果
|
||||
Assert.isTrue("hutool卫衣真暖和".equals(SyncUtil.get(hutool) + SyncUtil.get(sweater) + SyncUtil.get(warm)));
|
||||
Assert.isTrue("hutool卫衣真暖和".equals(AsyncUtil.get(hutool) + AsyncUtil.get(sweater) + AsyncUtil.get(warm)));
|
||||
}
|
||||
}
|
@@ -400,4 +400,10 @@ public class NumberUtilTest {
|
||||
final String s = new BigDecimal(num).toPlainString();
|
||||
Assert.assertEquals("5344342.34", s);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateBySetTest(){
|
||||
final Integer[] integers = NumberUtil.generateBySet(10, 100, 5);
|
||||
Assert.assertEquals(5, integers.length);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user