Android之CompletableFuture一异步编程常用方法

一、常用方法

1、获取结果的方法
(1)创建CompletableFuture
(2)future.get(…)等待结果,可设置超时的时间,该方法会阻塞,拿到结果后才进行下一步,future.complete(…)方法赋值;
(3)join(…)方法获取结果不会阻塞。

2、创建异步任务的方法
(1)supplyAsync执行CompletableFuture任务,有返回值
(2)runAsync执行CompletableFuture任务,没有返回值。

3、任务异步回调

(1)thenRun方法是做完第一个任务后,再做第二个任务。某个任务执行完成后,执行回调方法;但是前后两个任务没有参数传递,第二个任务也没有返回值;

       thenRunAsync执行第二个任务时,则第一个任务使用的是你自己传入的线程池,第二个任务使用的是ForkJoin线程池。

(2)thenApply方法表示,第一个任务执行完成后,执行第二个回调方法任务,会将该任务的执行结果,作为入参,传递到回调方法中,并且回调方法是有返回值的。

       thenApplyAsync......

(3)thenAccept方法表示,第一个任务执行完成后,执行第二个回调方法任务,会将该任务的执行结果,作为入参,传递到回调方法中,但是回调方法是没有返回值的。

       thenAcceptAsync......

(4)thenApply方法表示,第一个任务执行完成后,执行第二个回调方法任务,会将该任务的执行结果,作为入参,传递到回调方法中,并且回调方法是有返回值的。

       thenApplyAsync......

(5)whenComplete方法表示,某个任务执行完成后,执行的回调方法,无返回值;并且whenComplete方法返回的CompletableFuture的result是上个任务的结果。

(6)exceptionally方法表示,某个任务执行异常时,执行的回调方法;并且有抛出异常作为参数,传递到回调方法。

(7)handle方法表示,某个任务执行完成后,执行回调方法,并且是有返回值的;并且handle方法返回的CompletableFuture的result是回调方法执行的结果。

猜你喜欢

转载自blog.csdn.net/qq_46269365/article/details/126967265