pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • 工具类

  • Java-集合框架

  • Java8

    • Java 遍历文件
    • Java8中的流操作-基本使用&性能测试
    • 使用CompletableFuture构建异步应用
    • Collectors.toMap()
    • CompletableFuture
  • Java-多线程

  • Java计时新姿势√
  • Java中的BlockingQueue
  • Lambda表达式被首次调用时很慢?从JIT到类加载再到实现原理
  • 正则表达式
  • Java定时任务
  • JavaWeb

  • Java
  • Java8
pursuewind
2020-11-23

CompletableFuture


public class Test {
   

    public static void main(String[] args) throws ExecutionException, InterruptedException {

        CompletableFuture<String> task1 = CompletableFuture.supplyAsync(() -> {
            //模拟执行耗时任务
  ⼀          System.out.println("task1 doing...");
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //返回结果
            return "result1";
        });

        CompletableFuture<String> task2 = CompletableFuture.supplyAsync(() -> {
            //模拟执行耗时任务
            System.out.println("task2 doing...");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            //返回结果
            return "result2";
        });

        CompletableFuture<Object> anyResult = CompletableFuture.anyOf(task1, task2);
        CompletableFuture<Void> allResult = CompletableFuture.allOf(task1, task2);

        System.out.println("第一个完成的任务结果:" + anyResult.get());
        System.out.println("任务结果:" + allResult.get());


        //阻塞等待所有任务执行完成
        anyResult.join();
        String s = task1.get();
        String s2 = task2.get();

        System.out.println("所有任务执行完成");
        System.out.println(s);
        System.out.println(s2);
    }
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Last Updated: 2023/01/30, 11:01:00
Collectors.toMap()
JUC学习笔记(上)

← Collectors.toMap() JUC学习笔记(上)→

Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜
  • 网络DJ