为什么说Future是阻塞的
时间: 2023-07-15 19:09:54 浏览: 84
比较java中Future与FutureTask之间的关系
Future并不总是阻塞的,但是在某些情况下会出现阻塞的情况。
Future是一种异步编程的方式,它允许我们发起一个操作并立即返回一个Future对象,该对象表示该操作的结果。当我们需要该结果时,我们可以使用Future对象的get()方法来获取结果。如果Future对象表示的操作已经完成,那么get()方法会立即返回结果。但如果操作还没有完成,get()方法就会阻塞,直到操作完成并返回结果。
因此,如果我们使用Future来执行一个耗时的操作,而在获取结果之前我们没有做任何异步处理,那么就会出现阻塞的情况。为了避免这种情况,我们可以使用线程池、协程等技术来实现异步处理,从而避免阻塞。
阅读全文