如何写一个即使完成的Future(CompletedFuture)?
为了统一异步与同步的APi
调用,我写了一个假冒的Future
,代码如下,不知是否合适,请各位不吝赐教。
客户端方法实现get
,本来可中断的get也去掉了中断功能。
private static interface CompletedFuture<T> extends Future<T> {
@Override
default boolean cancel(boolean mayInterruptIfRunning) {
return false;
}
@Override
default boolean isCancelled() {
return false;
}
@Override
default boolean isDone() {
return true;
}
@Override
default T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
return get();
}
}
阅读了
Future
接口的文档注释,认为代码可用。