接口callable 类型参数 V-call方法的结构类型
public interface Callable
返回结果并且可能抛出的异常的任务。实现者定义一个不带任何参数的的call()方法,
Callable 接口类似于Runnable ,两者都是为了哪些真实实例可能被另一个线程执行的类设计的,
但是Runnable 不会返回结果,并且无法抛出经过的检查的异常
Executors
类包含一些从其他普通形式转换成 Callable 类的实用方法。
public interface Future
Future 表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。
计算完成后只能使用 get 方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由 cancel 方法
来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。
如果为了可取消性而使用 Future 但又不提供可用的结果,则可以声明 Future 形式类型、并返回 null 作为底层任务的结果。
Callable和Runnable的区别如下:
I Callable定义的方法是call,而Runnable定义的方法是run。
II Callable的call方法可以有返回值,而Runnable的run方法不能有返回值。
III Callable的call方法可抛出异常,而Runnable的run方法不能抛出异常。