在看这个源码的时候,踩了一个大坑,因为看网上的博客说:在这个类中,有一个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踩坑笔记相关推荐

  1. iphone se 一代 不完美越狱 14.6 视频壁纸教程(踩坑笔记)

    iphone se 一代 不完美越狱 14.6 加 视频壁纸教程-踩坑笔记 越狱流程 1.爱思助手制作启动u盘 坑点: 2.越狱好后 视频壁纸软件 1.源 2.软件安装 越狱流程 1.爱思助手制作启动 ...

  2. Linux内核踩坑笔记

    systemtap embedded C踩坑笔记戳这: https://blog.csdn.net/qq_41961459/article/details/103093912 task_struct的 ...

  3. 阿里云部署Tiny Tiny RSS踩坑笔记

    阿里云部署Tiny Tiny RSS踩坑笔记 前言 入坑了RSS,之前的配置是阿里云部署RSSHub,配合Inoreader进行文章阅读,详情见RSS入坑指南.阿里云部署RSSHub踩坑笔记.在202 ...

  4. 「Java」基于Mirai的qq机器人开发踩坑笔记(其一)

    目录 0. 前置操作 I. 安装MCL II. MCL自动登录配置 III. 安装IDEA插件 1. 新建Mirai项目 2. 编写主类 3. 添加外部依赖 4. IDEA运行 5. 插件打包 6. ...

  5. 「Java」基于Mirai的qq机器人开发踩坑笔记(其二)

    目录 0. 配置机器人 1. onLoad方法 2. onEnable方法 3. 消息属性 4. 消息监听 I. 好友消息 II. 群聊消息 III. 无差别消息 5. 发送消息 I. 文本消息 II ...

  6. 昆仑通态触摸屏1003故障码,踩坑笔记

    昆仑通态触摸屏1003故障码,踩坑笔记 第一次使用这个昆仑通态触摸屏,使用modbusRTU与金田变频器做通讯. 触摸屏在线后报1003通讯错误代码,现象是控制指令正常,但是读取不正常.读取变频器状态 ...

  7. EDUSOHO踩坑笔记之四十二:资讯

    EDUSOHO踩坑笔记之四十二:资讯 获取资讯列表信息 GET /articles/{id} 权限 老API,需要认证 参数 字段 是否必填 描述 sort string 否 排序,'created' ...

  8. EDUSOHO踩坑笔记之三十三:班级

    EDUSOHO踩坑笔记之三十三:班级 班级 班级 获取班级信息 获取班级列表 班级成员 获取班级计划 加入班级 营销平台加入班级 班级 班级 获取班级信息 GET /classrooms/{class ...

  9. uniapp引入vantweapp踩坑笔记

    vue-cli创建uniapp项目引入vantweapp踩坑笔记 uni-app中引入vantweapp vue-cli创建uniapp项目引入vantweapp踩坑笔记 一.环境准备 二.项目搭建 ...

  10. 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 ...

最新文章

  1. LazyT 延迟加载
  2. Android乐动力的开始启动页面开源代码
  3. java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串
  4. IDEA下java的SSM框架搭建
  5. java 一级缓存,MyBatis一级缓存避坑完全指南
  6. NP、OSPF基本配置
  7. 血管穿刺机器人研究汇总
  8. 绘图添加网格_Stata绘图: 添加虚线网格线
  9. 反激变换器matlab仿真变压器demo,反激变换器建模Matlab仿真
  10. CSS3实现折角效果
  11. html5判断文字超过几行,判断文字数量超过2行 添加展开按钮 未超过两行则不显示按钮 溢出部分显示省略号...
  12. 计算机添加桌面小插件,一款实用的Windows小插件 ——桌面日历DesktopCal
  13. windows pagefile.sys配置调整
  14. java mp3文件合并,java怎么实现mp3合并
  15. OpenLayers 5 使用GeoJSON进行行政区划剪裁(clip, not mask or filter),非矢量图层覆盖
  16. cryptographic primitives(密码学原语 )
  17. 吉林大学考研计算机系分数线,吉林大学考研计算机分数线相关交流问答贴 小木虫论坛-学术科研互动平台...
  18. DIY:制作一个语音识别的空调遥控器
  19. 树莓派呼吸灯python代码
  20. rj45 千兆接口定义_rj45接口定义,大神教你秒懂rj45的接线方法【详细方法】

热门文章

  1. 容器技术Docker K8s 21 容器服务ACK基础与进阶-存储管理
  2. 直击架构本质:优秀架构师必须掌握的几种架构思维
  3. Docker的核心概念镜像Images, 容器Containers, 数据卷Volumes
  4. adult Income 一个人的年收入是由各种因素造成的。直观上,它受个人的教育水平、年龄、性别、职业等因素的影响。
  5. 2021-08-30缺失的第一个正数
  6. SSH免密码登录,搭建Flink standalone集群
  7. matlab利用工作区的变量画图,在使用MATLAB“绘图”选项卡中的命令按钮绘图之前,需要( )。 答案:在工作区中选择绘图变量...
  8. 【ML小结4】深入了解SVM
  9. 广东大学 计算机 排名2015,2015美国大学计算机排名
  10. 四十三 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理...