Java8——异步编程
手动完成Future
提供空构造函数,complete, completeExceptionally,用于手动完成future
代码语言:javascript复制CompletableFuture<String> future = new CompletableFuture<>();
future.complete("xx");
// 如果要抛出异常:
// future.completeExceptionally(new Exception("Some exception."));
流程制定
常用的三种方法
方法名 | 是否可获得前一个任务的返回值 | 是否有返回值 |
---|---|---|
thenApply | 能获得 | 有 |
thenAccept | 能获得 | 无 |
thenRun | 不可获得 | 无 |
实际上相当于定义一个异步流程的DAG,先做什么,再做什么。