以下程序
ExecutorService service = Executors.newWorkStealingPool();
Future<Result> future = service.submit(firstTask);
Result result = future.get();
service.execute(() -> use(result));
可以执行并得到正确的结果,但性能可能会受到阻塞的严重影响 get()
这可以通过使用异步 CompletableFuture
.
问:为什么要堵 get()
当考虑到较低级别的实现时,异步方法链接是否太慢?比如,是不是因为阻塞的实现 get()
或者 join()
等(可能通过 wait()
在 Object
)将强制线程处于阻塞或等待状态,那么异步方法呢?阻塞的根本原因到底是什么 get()
或者 join
慢的异步方法通常是快的?
暂无答案!
目前还没有任何答案,快来回答吧!