一、前言
线程池在使用时,多数情况会需要有返回结果,按照使用实现Runnable接口和继承Thread类重写run方法无法获取到,所以用另外的方式:Future对象获取线程结果。Java中的Future接口就是专门用于描述异步计算结果的。
二、方法
(1)试图取消对此任务的执行
boolean cancel(boolean mayInterruptIfRunning)
(2)如有必要,等待计算完成,然后获取其结果
V get()
(3)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)
V get(long timeout, TimeUnit unit)
(4)如果在任务正常完成前将其取消,则返回true
boolean isCancelled()
(5)如果任务已经完成,则返回true
boolean isDone()
三、具体实现
1、代码
![](https://img.haomeiwen.com/i1455159/d5175b459cd1b11f.png)
2、结果
![](https://img.haomeiwen.com/i1455159/00a782e521e14f7e.png)
参考:网易云课堂-全面深入学习线程池
网友评论