当前位置:
玩转CompletableFuture异步编程
机器助手 | 
 276人浏览

CompletableFuture.supplyAsync 表示创建带返回值的异步任务的,相当于ExecutorService submit(Calable task)方法

CompletableFuture.runAsync 表示创建无返回值的异步任务
completableFuture.thenApycompletablefuure.menAppyAsymc 表示某个任务执行完成后执行的动作,即回调方法,会将该任务的执行结果即方法返回值作为入参传弟到回调方法中注job1执行结束后,将job1的方法返回值作为入参传递到j0b2中并立即执行job2。

thenApplyAsync与thenApply的区别在于,前者是将iob2提交到线程池中异步执于,实际执行i0b2的线程可能是另外一个线程,后者是由执行i0b1的线程立即执行iob2,即两个job都是同一个线程执行的)

CompletableFuture.thenAccept thenAccept 同 thenApply 接收上一个任务的返回值作为参数,但是无返回值CompletableFuture.thenRun thenRun 的方法没有入参,也没有返回值
CompletablieFuture.exceptionaly exceptionaly方法指定某个任务执行异常时执行的回调方法,会将抛出异常作为参数传递到回调方法中。

completablefture.whencomplete是当某个任务执行完成后执行的回调方法,会将执行结果或者执行期间抛出的异常传递给回调方法,如果是正常执行则异常为nu回调方法对应的Completablefuture的resul和该任务一致,如果该任务正常执行,则get方法返回执行结果,如果是执行异常,则get方法抛出异常