java中CompletableFuture方式是什么

说明

1、JDK 8中引入了 CompletableFuture 类,实现了Future和CompletionStage接口.

为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。

2、功能是可以让两个或者多个进行运算来产生结果。

实例

/**
*@authormghio
*@since2021-08-01
*/
publicclassCompletableFutureDemo{

publicstaticCompletableFuture<String>doOneThing(){
returnCompletableFuture.supplyAsync(()->{
try{
Thread.sleep(2000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
return"doOneThing";
});
}

publicstaticCompletableFuture<String>doOtherThing(Stringparameter){
returnCompletableFuture.supplyAsync(()->{
try{
Thread.sleep(2000);
}catch(InterruptedExceptione){
e.printStackTrace();
}
returnparameter+""+"doOtherThing";
});
}

publicstaticvoidmain(String[]args)throwsExecutionException,InterruptedException{
StopWatchstopWatch=newStopWatch("CompletableFutureDemo");
stopWatch.start();

//异步执行版本
testCompletableFuture();

stopWatch.stop();
System.out.println(stopWatch);
}

privatestaticvoidtestCompletableFuture()throwsInterruptedException,ExecutionException{
//先执行doOneThing任务,后执行doOtherThing任务
CompletableFuture<String>resultFuture=doOneThing().thenCompose(CompletableFutureDemo::doOtherThing);

//获取任务结果
StringdoOneThingResult=resultFuture.get();

//获取执行结果
System.out.println("DoOneThingandDoOtherThingexecutefinished.result="+doOneThingResult);
}

}

以上就是java中CompletableFuture方式的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容