专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java8新特性使用CompletableFuture构建异步应用

temp10 2024-10-21 12:23:46 java教程 11 ℃ 0 评论

Java8新特性使用CompletableFuture构建异步应用

1、CompletableFuture的runAsync方法是没有返回值的,这个方法是有两个参数,一个线程,一个线程池。

Java8新特性使用CompletableFuture构建异步应用

runAsync方法的例子,没有返回值,service是自定义线程数,

转成lambda表达式的形式:

运行结果如下:

  1. CompletableFuture的有返回值的方法,supplyAsync,他的两个参数如下,一个是Supplier有返回值的函数式接口,一个是线程池。

用函数内部类比较直观一点,return一个Integer类型的值

转成lambda表达式的形式:

打印结果如下:

如果有返回值future,我们可以根据future方法进行其他操作。

  1. 计算完成时回调方法:

whenComplete方法可以处理正常和异常的计算结果,正常结果如下:

将除数改为0,处理异常结果如下:

运行结果如下:

whenCompletek可以感知异常,但是不能设置默认值,exceptionally 可以设置默认值。

执行结果如下:

  1. handle方法执行完成后的处理。

执行结果如下:

以上就是CompletableFuture的简单使用案例,有问题的地方欢迎大家指正。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表