首页 理论教育 Java实现Callable和Future接口

Java实现Callable和Future接口

时间:2023-10-19 理论教育 版权反馈
【摘要】:Callable接口中提供了call()方法,被调用时用来执行线程,并且会有返回值,返回值类型为Future接口的实现类。Callable接口的定义如下:Future接口是与Callable接口配合使用的,也位于java.util.concurrent包中,提供了用来检测线程是否被执行完成的方法,并在任务执行完成时获得结果。动手写16.2.3其运行结果为:图16.2.3实现Callable接口创建线程

Java实现Callable和Future接口

Callable接口是Java 5新增的接口,位于java.util.concurrent包中,其使用类似于Runnable。Callable接口中提供了call()方法,被调用时用来执行线程,并且会有返回值,返回值类型为Future接口的实现类。同时,call()方法声明了抛出异常。

Callable接口的定义如下:

Future接口是与Callable接口配合使用的,也位于java.util.concurrent包中,提供了用来检测线程是否被执行完成的方法,并在任务执行完成时获得结果。另外,Future接口支持设置线程执行的超时时间。

Future接口中的常见方法如表16.2.2所示。

表16.2.2 Future接口中的常见方法

(续上表)

FutureTask类同时实现了Runnable接口和Future接口,可以作为Thread类的target入参来创建线程,同时也可以使用Future接口中的call()方法来获取返回值。

使用Callable接口和Future接口创建并启动线程的步骤如下:(www.xing528.com)

1.声明实现Callable接口的类,实现call()方法,并定义返回值类型;

2.创建实现Callable类的对象,使用FutureTask类包装Callable对象;

3.创建Thread对象,使用FutureTask对象作为Thread对象的target入参,并启动线程;

4.使用FutureTask对象的get()方法来获取线程结束后的返回值。

动手写16.2.3

其运行结果为:

图16.2.3 实现Callable接口创建线程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈