DelayedWorkQueue踩坑笔记
在看这个源码的时候,踩了一个大坑,因为看网上的博客说:在这个类中,有一个DelayQueue的对象,但是我翻了几遍源码(我看的是jdk8的源码),也没看到这个内部类中有一个DelayQueue对象,直到我看了下这个类的继承关系和DelayQueue的基本一样之后,我觉得,有可能在jdk8中,这个内部类的源码改了,这个类自己去实现了DelayQueue的功能
所以我就去找了下jdk的源码,发现jdk7的ScheduleThreadPoolExecutor的内部类DelayedWorkQueue也没有DelayQueue对象
我就再往前找,在jdk6的源码中,找到了
这里可以看到,在jdk6源码中,确实是内置了一个DelayQueue对象,所有的方法都是调用的delayQueue的方法
但是在jdk7和jdk8中,DelayedWorkQueue实现了DelayQueue的功能,自己实现了入队、出队、重新入队的功能
DelayQueue和DelayedWorkQueue的一个区别是:
前者入队的必须是实现了Delayed接口的对象,后者不需要;也就是说DelayQueue中所存储的对象必须是实现了Delayed接口的对象
public class DelayQueue<E extends Delayed> extends AbstractQueue<E>implements BlockingQueue<E> static class DelayedWorkQueue extends AbstractQueue<Runnable>implements BlockingQueue<Runnable>```
ScheduleThreadPoolExecutor和ThreadPoolExecutor的区别
1.scheduleThreadPoolExecutor对task进行了一层包装,包装成scheduleFutureTask
2.ScheduleThreadPoolExecutor不能设置最大线程数,只能使用指定的Integer.MAX_VALUE
3.ScheduleThreadPoolExecutor不能设置allowCoreThreadTimeOut属性
DelayedWorkQueue踩坑笔记相关推荐
- iphone se 一代 不完美越狱 14.6 视频壁纸教程(踩坑笔记)
iphone se 一代 不完美越狱 14.6 加 视频壁纸教程-踩坑笔记 越狱流程 1.爱思助手制作启动u盘 坑点: 2.越狱好后 视频壁纸软件 1.源 2.软件安装 越狱流程 1.爱思助手制作启动 ...
- Linux内核踩坑笔记
systemtap embedded C踩坑笔记戳这: https://blog.csdn.net/qq_41961459/article/details/103093912 task_struct的 ...
- 阿里云部署Tiny Tiny RSS踩坑笔记
阿里云部署Tiny Tiny RSS踩坑笔记 前言 入坑了RSS,之前的配置是阿里云部署RSSHub,配合Inoreader进行文章阅读,详情见RSS入坑指南.阿里云部署RSSHub踩坑笔记.在202 ...
- 「Java」基于Mirai的qq机器人开发踩坑笔记(其一)
目录 0. 前置操作 I. 安装MCL II. MCL自动登录配置 III. 安装IDEA插件 1. 新建Mirai项目 2. 编写主类 3. 添加外部依赖 4. IDEA运行 5. 插件打包 6. ...
- 「Java」基于Mirai的qq机器人开发踩坑笔记(其二)
目录 0. 配置机器人 1. onLoad方法 2. onEnable方法 3. 消息属性 4. 消息监听 I. 好友消息 II. 群聊消息 III. 无差别消息 5. 发送消息 I. 文本消息 II ...
- 昆仑通态触摸屏1003故障码,踩坑笔记
昆仑通态触摸屏1003故障码,踩坑笔记 第一次使用这个昆仑通态触摸屏,使用modbusRTU与金田变频器做通讯. 触摸屏在线后报1003通讯错误代码,现象是控制指令正常,但是读取不正常.读取变频器状态 ...
- EDUSOHO踩坑笔记之四十二:资讯
EDUSOHO踩坑笔记之四十二:资讯 获取资讯列表信息 GET /articles/{id} 权限 老API,需要认证 参数 字段 是否必填 描述 sort string 否 排序,'created' ...
- EDUSOHO踩坑笔记之三十三:班级
EDUSOHO踩坑笔记之三十三:班级 班级 班级 获取班级信息 获取班级列表 班级成员 获取班级计划 加入班级 营销平台加入班级 班级 班级 获取班级信息 GET /classrooms/{class ...
- uniapp引入vantweapp踩坑笔记
vue-cli创建uniapp项目引入vantweapp踩坑笔记 uni-app中引入vantweapp vue-cli创建uniapp项目引入vantweapp踩坑笔记 一.环境准备 二.项目搭建 ...
- OpenCV4.0.1/4.0.0/3.4.2 + Contrib + Qt5.9 + CMake3.12.1编译及踩坑笔记、Qt5+OpenCV配置、代码验证、效果图、福利彩蛋
Table of Contents 前言 Windows 10, OpenCV4.0.1, Qt5.9.3, CMake3.12.1, MinGW5.3.0 Windows 10, OpenCV4.0 ...
最新文章
- LazyT 延迟加载
- Android乐动力的开始启动页面开源代码
- java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串
- IDEA下java的SSM框架搭建
- java 一级缓存,MyBatis一级缓存避坑完全指南
- NP、OSPF基本配置
- 血管穿刺机器人研究汇总
- 绘图添加网格_Stata绘图: 添加虚线网格线
- 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
- CSS3实现折角效果
- html5判断文字超过几行,判断文字数量超过2行 添加展开按钮 未超过两行则不显示按钮 溢出部分显示省略号...
- 计算机添加桌面小插件,一款实用的Windows小插件 ——桌面日历DesktopCal
- windows pagefile.sys配置调整
- java mp3文件合并,java怎么实现mp3合并
- OpenLayers 5 使用GeoJSON进行行政区划剪裁(clip, not mask or filter),非矢量图层覆盖
- cryptographic primitives(密码学原语 )
- 吉林大学考研计算机系分数线,吉林大学考研计算机分数线相关交流问答贴 小木虫论坛-学术科研互动平台...
- DIY:制作一个语音识别的空调遥控器
- 树莓派呼吸灯python代码
- rj45 千兆接口定义_rj45接口定义,大神教你秒懂rj45的接线方法【详细方法】
热门文章
- 容器技术Docker K8s 21 容器服务ACK基础与进阶-存储管理
- 直击架构本质:优秀架构师必须掌握的几种架构思维
- Docker的核心概念镜像Images, 容器Containers, 数据卷Volumes
- adult Income 一个人的年收入是由各种因素造成的。直观上,它受个人的教育水平、年龄、性别、职业等因素的影响。
- 2021-08-30缺失的第一个正数
- SSH免密码登录,搭建Flink standalone集群
- matlab利用工作区的变量画图,在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要( )。 答案:在工作区中选择绘图变量...
- 【ML小结4】深入了解SVM
- 广东大学 计算机 排名2015,2015美国大学计算机排名
- 四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理...