跳到主要内容

简述什么是Callable和Future ?

参考答案:

Callable和Future是Java中用于处理异步计算和结果获取的两种重要机制。

Callable接口是一个任务执行器接口,它定义了一个call()方法,这个方法可以返回一个结果,也可以抛出异常。Callable接口常常用在多线程编程中,用来表示一个需要执行的任务。其可以看作是一个带有回调的Runnable,因为它能够返回值并且返回值可以被Future接口获取。

而Future接口是一个代表异步计算结果的抽象,它代表一个可能还没有完成的任务。调用Future的get()方法会阻塞当前线程,直到任务完成并返回结果。Future接口提供了检查任务是否完成、获取任务的结果、取消任务等操作。

总的来说,Callable用于产生结果,而Future用于获取结果。它们通常一起使用,通过Future来获取Callable的结果。