Java并发API深入探索-执行器与周期任务
需积分: 20 100 浏览量
更新于2024-08-07
收藏 8.86MB PDF 举报
"有关执行器的其他信息-风雨考研路_14077916"
在Java并发编程中,执行器(Executor)是核心组件,用于管理和调度线程执行任务。本章节主要讨论了ThreadPoolExecutor和ScheduledThreadPoolExecutor类的扩展和重载方法,以及它们在实现特定行为时的应用。
ThreadPoolExecutor是一个可配置的线程池,允许开发者控制线程的数量、任务队列的类型等。重载`shutdown()`方法可以在关闭执行器时添加额外的资源清理逻辑。`shutdownNow()`方法不同于`shutdown()`,它尝试停止正在执行的任务并清空任务队列。`submit()`, `invokeAll()`, 和 `invokeAny()`是提交任务的方法,可以被重载以在任务提交前后执行自定义操作,但要注意这与在任务执行前后添加操作是不同的,后者的操作可以通过重载`beforeExecute()`和`afterExecute()`方法来实现。
ScheduledThreadPoolExecutor是ScheduledExecutorService接口的实现,用于周期性或延迟执行任务。`schedule()`方法用于在指定延迟后执行一次性任务,而`scheduleAtFixedRate()`则按固定周期执行任务,两者的区别在于前者关注的是两次执行之间的间隔时间,后者关注的是两次执行的起始时间间隔。此外,`scheduleWithFixedDelay()`方法则是在上一次任务结束和下一次任务开始之间设定延迟。
章节中的例子展示了如何利用执行器的高级特性。第一个例子扩展了ThreadPoolExecutor以实现优先级任务执行和任务执行时间的度量,还引入了任务撤销的功能。第二个例子使用ScheduledThreadPoolExecutor执行周期性任务,通过覆盖默认行为调整任务执行间隔。
接下来的内容将转向返回结果的Executor任务,通常,直接扩展Thread类或实现Runnable接口的run()方法不会返回结果,而使用Callable接口的执行器框架则允许创建有返回值的任务。这进一步增强了Java并发编程的能力,使得处理复杂任务变得更加灵活。
本书深入探讨了Java并发API,包括但不限于执行器框架、Phaser类、Fork/Join框架、流API、并发数据结构和同步机制,同时也涵盖了并发应用的设计原则、模式、测试工具和方法。这本书适合有一定Java基础并希望提升并发编程技能的开发者阅读。
2021-06-30 上传
2021-06-30 上传
2021-08-11 上传
2018-12-03 上传
2018-12-03 上传
2020-03-31 上传
2012-03-11 上传
烧白滑雪
- 粉丝: 29
- 资源: 3846
最新资源
- Solution_LinkQueue,新年快乐c语言源码,c语言
- Arrays
- 安卓奇奇动画v3.96纯净版 看动漫神器.txt打包整理.zip
- koa-routeasy:在KoaJS中创建路由的简单方法
- linux图形透明度错误shadedErrorBar.m:linux图形透明度错误shadedErrorBar.m-matlab开发
- Kusa Twitch-crx插件
- [聊天留言]工具啦新春许愿墙_nywish.rar
- qiankun-source-code:微前端框架-qiankun源码阅读
- GetOrganized:ASP.NET MVC연습
- RA8875-7,c语言0随机数源码,c语言
- 安卓多功能计算器V1.7.8 应有尽有.txt打包整理.zip
- angular-strict
- hash_formatter:Hash Formatter 是一个为代码编辑器格式化 Ruby 哈希的库
- 웹툰보기 - 바트웹툰-crx插件
- PMP-2013.zip
- HeidiSQL-12.6-64-Portable.zip