Feture
我们刚刚在学习iava内置线程池使用时没有考虑线程计算的结果,但开发中,我们有时需要利用线程进行一些计算,然后获取这些计算的结果,而iava中的Future接口就是专门用于描述异步计算结果的,我们可以通过Future 对象获取线程计算的结果;Future的常用方法如下:
boolean cancel(boolean maylnterruptlfRunning)试图取消对此任务的执行。
V get()如有必要,等待计算完成,然后获取其结果。
V get(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。
boolean isCancelled()如果在任务正常完成前将其取消,则返回true。
boolean isDone()如果任务已完成,则返回true。
cancel 方法
boolean cancel(boolean maylnterruptlfRunning)试图取消对此任务的执行。
V get() 方法
V get()如有必要,等待计算完成,然后获取其结果。
V get(long timeout, TimeUnit unit)如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。
demo1
demo1:
demo2
取消任务
因为线程还在执行中,所以可以取消成功
demo3
等待指定的时间,比如线程需要2秒执行完成,非的1秒就等待1秒。这个时候程序会报错。