CompletableFuture用法介绍

一、CompletableFuture用法入门介绍

入门介绍的一个例子:

 1 package com.cy.java8;
 2 
 3 import java.util.Random;
 4 import java.util.concurrent.CompletableFuture;
 5 
 6 public class CompletableFutureInAction {
 7     private final static Random RANDOM = new Random(System.currentTimeMillis());
 8 
 9     public static void main(String[] args){
10         CompletableFuture<Double> completableFuture = new CompletableFuture<>();
11         new Thread(() -> {
12             double value = get();
13             completableFuture.complete(value);
14         }).start();
15 
16         System.out.println("do other things...");
17 
18         completableFuture.whenComplete((t, e) -> {
19             System.out.println("complete. value = "+ t);
20             if(e != null){
21                 e.printStackTrace();
22             }
23         });
24     }
25 
26     private static double get(){
27         try {
28             Thread.sleep(RANDOM.nextInt(3000));
29         } catch (InterruptedException e) {
30             e.printStackTrace();
31         }
32         return RANDOM.nextDouble();
33     }
34 }

console打印:

do other things...
complete. value = 0.8244376567363494

 

二、

----

猜你喜欢

转载自www.cnblogs.com/tenWood/p/11614336.html