一、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
二、
----