CompletableFuture异步任务
基本方法
- runAsync:以异步方式执行单个任务,不支持返回值
- supplyAsync:以异步方式执行单个任务,有返回值
- whenComplete(结果,异常):使用当前线程继续执行任务
- whenCompleteAsync:使用线程池内的线程继续执行任务
- exceptionally(异常):发生异常时对异常拦截,并且可以设置默认返回结果
- handle:对结果做最后的处理,可以处理异常,可改变返回值,exceptionally只能在异常时触发并且拿不到前一步的运行结果
串行化方法
- thenRun:处理没有参数也不需要返回值的步骤
- thenAccept:处理有参数没有返回值的步骤
- thenApply:处理需要消费参数也需要返回值的步骤
任务组合都要完成
- thenCombine:组合两个任务,并需要两个任务的返回结果,有返回值
- thenAcceptBoth:组个两个任务,并需要两个任务的返回结果,然后处理任务,没有返回值
- runAfterBoth:不需要两个任务的结果,无返回值
任务组合一个完成
- applyToEither:两个任务有一个执行完成,获取它的返回值,处理任务有新的返回值
- acceptEither:两个任务有一个执行完成,获取它的返回值,处理任务,没有新的返回值
- runAfterEither:两个任务有一个执行完成,不需要获取结果,也没有返回值
多任务组合
- allOf:等待所有任务运行完成
- anyOf:只要有一个任务完成