CompletableFuture如何解决FutureTask的get等待
时间: 2023-06-20 12:04:56 浏览: 82
FutureTask学习
CompletableFuture使用回调函数的方式来解决FutureTask的get等待。
在使用CompletableFuture时,我们可以通过thenApply、thenAccept、thenRun等方法来添加回调函数,这些回调函数会在异步任务执行完成后自动执行。当异步任务执行完成后,回调函数会被添加到一个回调函数队列中,等待主线程获取异步任务结果时执行。
当主线程调用CompletableFuture的get方法获取异步任务结果时,如果异步任务已经执行完成,主线程会立即获取到结果。如果异步任务还没有执行完成,主线程会阻塞等待异步任务执行完成并返回结果。在异步任务执行完成后,回调函数队列中的回调函数会被自动执行,从而实现了异步任务和回调函数的协同工作。
阅读全文