说明
1、JDK 8中引入了pletableFuture 类,实现了FuturepletionStage接口.
为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。
2、功能是可以让两个或者多个进行运算来产生结果。
实例
/**
* @author mghio
* @since 2022-08-01
*/
public class pletableFutureDemo {
public static pletableFuture<String> doOneThing() {
return pletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "doOneThing";
});
}
public static pletableFuture<String> doOtherThing(String parameter) {
return pletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return parameter + " " + "doOtherThing";
});
}
public static void main(String[] args) throws ExecutionException, InterruptedException {
StopWatch stopWatch = new StopWatch("pletableFutureDemo");
stopWatch.start();
// 异步执行版本
tespletableFuture();
stopWatch.stop();
System.out.println(stopWatch);
}
private static void tespletableFuture() throws InterruptedException, ExecutionException {
// 先执行 doOneThing 任务,后执行 doOtherThing 任务
 pletableFuture<String> resultFuture = doOneThing().theposepletableFutureDemo::doOtherThing);
// 获取任务结果
String doOneThingResult = resultFuture.get();
// 获取执行结果
System.out.println("DoOneThing and DoOtherThing execute finished. result = " + doOneThingResult);
}
}








