completablefuture join和get
时间: 2023-04-14 10:04:57 浏览: 157
CompletableFuture进阶
CompletableFuture的join和get方法都可以用来获取异步计算的结果,但它们有一些不同之处。
join方法是一个阻塞方法,它会等待异步计算完成并返回结果。如果异步计算抛出异常,join方法会将异常包装成CompletionException并抛出。如果异步计算还没有完成,join方法会一直阻塞直到计算完成。
get方法也是一个阻塞方法,它也会等待异步计算完成并返回结果。但是,如果异步计算抛出异常,get方法会将异常包装成ExecutionException并抛出。此外,get方法还有一个超时参数,可以指定等待的最长时间。如果异步计算在超时时间内没有完成,get方法会抛出TimeoutException。
总的来说,join方法更加简单直接,适合于不需要处理异常或超时的场景。而get方法则更加灵活,可以处理异常和超时,但需要更多的代码来处理这些情况。
阅读全文