谈谈 Callable 、 Future 、 Runnable

2020-07-23  本文已影响0人  三石_5f43

谈谈 Callable 、 Future 、 Runnable 它们之间的渊源

Runnable 存在的缺陷

Callable 和 Runnable 的不同

Future 的作用是什么?

在执行大型计算任务的时候,为了不因繁重的计算任务而长时间阻塞主线程的任务执行,可以把计算任务放到子线程去执行,并通过 Future 去控制子线程的执行过程,获取计算结果,从而提高整体任务的执行效率。(是异步任务执行的思想)

Callable 和 Future 的关系

future 的主要方法

get() 方法获取任务执行结果

执行可能出现的几种场景

基础复盘-Future .jpg
isDone() 方法 检测任务是否执行完成
cancel() 方法 取消任务执行

Future 产生新的线程了吗?

Callable 和 Future 并不能产生新的线程, 需要借助 Thread 或者线程池(ThreadPool) 才能执行任务。

上一篇 下一篇

猜你喜欢

热点阅读