评论:Java 7并发食谱
Java 7 Concurrency Cookbook包含60多个示例,向您展示了如何在Java中进行多线程编程。 它显示了从初级到高级的各种线程主题,包括创建,中断和监视线程之类的线程管理,使用Java 5 Executor
框架运行或调度线程以及最新的Java 7 fork/Join
框架来分发线程。
我最喜欢的是第3章,其中显示了5个常见的并发机制或模式的示例-“ 信号量 ”,“ CountDownLatch ”,“ CyclicBarrier ”,“ Phaser ”和“ Exchanger ”,以及这些机制如何解决现有的线程问题。 另外,在本章的最后,它展示了如何在Eclipse和NetBeans中测试Java并发代码,这使我感到惊讶。
请参阅以下部分,以了解您将从这本书中学到什么。
第1章:线程管理
Hello world一章中有许多有用的示例,向您展示了线程管理的基本知识。
学到的技能:
- 如何创建,中断,休眠和恢复线程。
- 如何编写守护程序线程。
- 如何处理线程异常。
- 如何将线程分组。
第2章:基本线程同步
线程同步可控制多个线程如何读写相同的数据,文件或数据库(共享资源),
学到的技能:
- 如何使用
synchronized
关键字来同步方法。 - 如何使用
Lock
接口及其实现来同步代码块。 - 如何使用
wait()
,notify()
和notifyAll()
在同步代码中执行单个/多个条件。
第3章:线程同步实用程序
这些示例向您展示了五个同步多个线程的常见并发机制或模式,以及正在解决的问题。
学到的技能:
- 信号量 –一种计数器,用于控制对一个或多个共享资源的访问。
- CountDownLatch –允许线程等待多个操作的完成。
- CyclicBarrier –允许在一个公共点同步多个线程。
- 移相器 –控制按阶段划分的并发任务的执行。
- Exchanger –提供两个线程之间的数据交换点。
第4章:线程执行器
如何使用Java 5,Executor框架Executor
, ThreadPoolExecutor
等。与调度程序一样,它可以在指定的时间或间隔运行单个或多个线程。
学到的技能:
- 如何创建线程执行器
- 延迟后如何运行任务。
- 如何定期运行任务。
- 如何控制任务的完成或取消。
第5章:Fork / Join框架
新的Java 7 Fork / Join框架 。
学到的技能:
- 什么是Java 7 Fork / Join框架,以及一个简单的hello world示例。
- 如何将分割后的任务的结果结合起来。
- 如何取消任务。
第6章:并发收集
介绍在并发编程中使用的Java集合。
学到的技能:
- 什么是阻塞和非阻塞集合。
- 使用阻塞和非阻塞线程安全列表的示例。
ConcurrentNavigableMap
示例。- 如何使用
ThreadLocalRandom
生成并发随机数。 - 如何使用原子变量(例如
AtomicLong
)和原子数组(例如AtomicIntegerArray
。
第7章:自定义并发类
本章介绍如何自定义现有的并发类以满足您的需求。 通常,您不需要这个,但是很高兴知道。
学到的技能:
- 实施基于优先级的
Executor
类 - 如何使用
ThreadFactory
。 - 定制在计划的线程池和Fork / Join框架中运行的任务。
- 如何实现自定义
Lock
类。 - 如何实现自己的原子对象。
第8章:测试并发应用程序
本章介绍如何在并发程序中进行测试。
学到的技能:
- 如何监视
Lock
,Phaser
,Executor
框架和Fork / Join池。 - 如何配置Eclipse和NetBeans以调试并发代码。
- 如何使用FindBugs分析并发代码
结论
本书包含许多易于遵循的示例,并且在每个示例的末尾都有详尽的解释,第6章和第7章除外,这需要一些线程背景知识才能理解。 对于想学习Java线程的初学者来说,这本“ Java 7并发性烹饪书 ”是学习的最佳书。 对于经验丰富的开发人员,您也可以将其视为“ Java并发性”的完整参考。
如果与实践中的经典Java并发相比,该怎么办? 我认为这两本书都是针对不同开发人员级别的。 恕我直言,经典的“实践中的Java并发性”是针对高级级别的,其摘要代码后跟着几页说明,虽然很棒,但并不适合任何人。 而且此Java 7 Concurrency Cookbook适用于初学者和入门级读者,该示例易于理解,可以随时修改以供您的项目使用。
注意
该Java 7并发食谱可以通过amazon.com或packtpub.com在线购买。
参考文献
- Oracle Java并发教程
- Java 7 fork / join框架
翻译自: https://mkyong.com/book-review/review-java-7-concurrency-cookbook/
http://www.taodudu.cc/news/show-5417364.html
相关文章:
- 20个增长黑客经典案例。
- 微信小程序 |基于Flask框架实现智能菜谱小程序
- 使用Elasticsearch快速搭建食谱搜索系统
- 经典解读 | CVPR TOP10 论文盘点
- 免费菜谱api接口-菜谱大全api
- Android案例之Fragment的使用——川菜菜谱
- 经典的感悟ZZ
- 食谱问题Diet Problem
- 广东汤谱大全 广东煲汤食谱大全
- Python综合评价模型(七)变异系数法
- 杂谈 己亥年 丙寅月 辛卯日
- 用php打出2020年是庚子鼠年,2020庚子鼠年九宫飞星图,2020年的鼠是什么命
- 2013年个人工作与学习总结(20131207)
- 实验吧-密码学-传统知识+古典密码(六十甲子年)
- 辛卯兔年第一博
- JAVASCRIPT 取得当前时间,包括农历时间 时间格式:2011年11月8日 16:54 星期二 农历辛卯年(兔) 十月十三 申时...
- 感悟辛卯年,寄语壬辰年
- 记辛卯年正月初四
- 辛卯年正月初七
- 海思AI芯片(Hi3519A/3559A)方案学习(二十六)VPSS不同channel的不同放缩能力
- Numpy模块的学习(下)
- 电子学会青少年编程等级考试Python二级题目解析01
- 电子计算机计算精度不高,(1)计算机的特点是处理速度快、计算精度高、存储容量大、可靠性高、工作全自动以及...
- A Practical Guide to Quantitative Finance Interviews
- 中国电子学会2022年06月份青少年软件编程Python等级考试试卷三级真题(含答案)
- python+selenium自动填写提交电子表单
- python电子版笔记_python学习笔记-电子书
- A/B测试
- 用自己的手机调试Android应用程序——Android Studio
- android虚拟机找不到应用程序,Android Studio中的Android模拟器不显示我的应用程序...
评论:Java 7并发食谱相关推荐
- 免费获得Java 7并发食谱
上周,我对< Java 7 Concurrency Cookbook>一书进行了全面回顾 ,并且文章被提升为DZone上的重要链接. 现在, Packt Publishing同意免费赠送这 ...
- Java高并发,如何解决,什么方式解决
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一 ...
- java高并发案例详细讲解
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...
- 关于Java高并发的问题
前言: 对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和 ...
- java unsafe获取指针_【实战Java高并发程序设计 1】Java中的指针:Unsafe类
是<实战Java高并发程序设计>第4章的几点. 如果你对技术有着不折不挠的追求,应该还会特别在意incrementAndGet() 方法中compareAndSet()的实现.现在,就让我 ...
- Java多线程并发技术
Java多线程并发技术 参考文献: http://blog.csdn.net/aboy123/article/details/38307539 http://blog.csdn.net/ghsau/a ...
- Java 7并发编程实战手册
2019独角兽企业重金招聘Python工程师标准>>> Java 7并发编程实战手册 本书是 Java 7 并发编程的实战指南,介绍了Java 7 并发API 中大部分重要而有用的机 ...
- cpu高 thread vm_阿里大佬总结,Java高并发必读!
作者:wxdoop 原文:https://blog.csdn.net/qq_36235098 来源:前程有光 前言 进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本 ...
- Java高并发编程:活跃性危险
Java高并发程序中,不得不出现资源竞争以及一些其他严重的问题,比如死锁.线程饥饿.响应性问题和活锁问题.在安全性与活跃性之间通常存在依赖,我们使用加锁机制来确保线程安全,但是如果过度地使用加锁,则可 ...
最新文章
- 《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——2.2 容器式Linux系统的Docker配置...
- Binary Watch二进制时间
- Spring boot拦截器登录检查
- 游戏在ios和android,陈情令手游ios和安卓互通吗 ios和安卓能一起玩吗
- jquery学习方法
- Hi3520d uboot uImage rootfs 移植与升级
- 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯
- TensorFlow 是一个用于人工智能的开源神器
- oracle11存储过程,oracle 存储过程执行报错ORA-12828
- 求一个整数的各位累加和
- 一篇搞定写毕设和画图表
- 语言用符号打印出落叶的图案_普通语言学概要(第一章第二节,语言是符号系统)...
- 【C语言】案例五十一 员工档案管理系统
- Drag and drop拖放框架
- html——表单元素及个人简历实现
- java中把gui插入图片_在java中使用图片实现gui的美化.pdf
- macM1安装tensorflow和torch教程(python3.8环境)
- 中文保存CSV文件乱码解决方法
- 综合素质计算机的知识考点,综合素质常识考题
- 计算机或设备将不接受连接 解决办法