从任务中获取数据——Callable和Future接口
在执行器中,可执行两种类型的任务:
- 基于 Runnable 接口的任务:实现 run() 方法,该方法不返回任何结果。
- 基于 Callable 接口的任务:实现 call() 方法,该方法返回一个对象作为结果。 call() 方法返回的具体类型由 Callable 接口的泛型类型参数指定。为获取任务返回的结果,执行器会为每个任务返回一个 Future 接口的实现。
1. Callable和Future接口概述
1.1 Callable接口
Callable 接口与 Runnable 接口非常相似,其主要特点如下:
- 它是一个泛型接口,有一个单一的类型参数,对应 call() 方法的返回类型。
- 声明了 call() 方法,执行器运行任务时会执行此方法,该方法必须返回声明中指定类型的对象。
- call() 方法可以抛出任何受检查的异常,可通过实现自己的执行器并重写 afterExecute() 方法来处理这些异常。
1.2 Future接口
将 Callable 任务发送到执行器时,它会返回一个
超级会员免费看
订阅专栏 解锁全文
3179

被折叠的 条评论
为什么被折叠?



