没有合适的资源?快使用搜索试试~ 我知道了~
Java线程池FutureTask实现原理详解
9 下载量 26 浏览量
2020-08-28
01:57:17
上传
评论
收藏 143KB PDF 举报
温馨提示
试读
3页
主要介绍了Java线程池FutureTask实现原理详解,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
资源推荐
资源详情
资源评论
Java线程池线程池FutureTask实现原理详解实现原理详解
主要介绍了Java线程池FutureTask实现原理详解,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可
以参考下
前言前言
线程池可以并发执行多个任务,有些时候,我们可能想要跟踪任务的执行结果,甚至在一定时间内,如果任务没有执行完成,
我们可能还想要取消任务的执行,为了支持这一特性,ThreadPoolExecutor提供了 FutureTask 用于追踪任务的执行和取消。
本篇介绍FutureTask的实现原理。
类视图类视图
为了更好的理解FutureTask的实现原理,这里先提供几个重要接口和类的结构,如下图所示:
RunnableAdapter
ThreadPoolExecutor提供了submit接口用于提交任务,submit支持Runnable和Callable两种不同的接口,为了提供统一的对外
接口,jdk在内部把Runnable给包装成了一个Callable,这一切是通过RunnableAdapter这个适配器来实现的。如下为
RunnableAdapter的源码:
static final class RunnableAdapter<T> implements Callable<T> {
final Runnable task;
final T result;
RunnableAdapter(Runnable task, T result) {
this.task = task;
this.result = result;
}
public T call() {
task.run();
return result;
}
}
资源评论
weixin_38656064
- 粉丝: 10
- 资源: 933
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三次样条插值的介绍-什么是三次样条插值原理
- http的一些相关介绍-对于我们来说什么是http
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
- 基于python实现的三次样条插值和均值插值法实现
- Python语言教程2-python批量图片大小处理-多文件夹
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功