Java 并发编程之美:并发编程高级篇之四

作者/分享人:加多
向 Ta 提问
加多,某大型互联网公司Java攻城狮,热衷并发编程,开源框架,业余时间担任并发编程网编辑,微信公众号 :‘技术原始积累’,知识星球: ‘技术原始积累’

Java 并发编程实践中的话:编写正确的程序并不容易,而编写正常的并发程序就更难了。相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没有进行适当同步的情况下多线程中各个操作的顺序是不可预期的。

并发编程相比 Java 中其他知识点学习起来门槛相对较高,学习起来比较费劲,从而导致很多人望而却步;而无论是职场面试和高并发高流量的系统的实现却都还离不开并发编程,从而导致能够真正掌握并发编程的人才成为市场比较迫切需求的。

本 Chat 作为 Java 并发编程之美系列的高级篇之四,图形结合讲解JDK中线程安全的并发队列实现原理,内容如下:(建议先阅读 并发编程高级篇之三-锁

  • JDK 中基于链表的非阻塞无界队列 ConcurrentLinkedQueue 原理剖析,ConcurrentLinkedQueue 内部是如何使用 CAS 非阻塞算法来保证多线程下入队出队操作的线程安全?
  • JDK 中基于链表的阻塞队列 LinkedBlockingQueue 原理剖析,LinkedBlockingQueue 内部是如何使用两个独占锁 ReentrantLock 以及对应的条件变量保证多线程先入队出队操作的线程安全?为什么不使用一把锁,使用两把为何能提高并发度?
  • JDK 中基于数组的阻塞队列 ArrayBlockingQueue 原理剖析,ArrayBlockingQueue 内部如何基于一把独占锁以及对应的两个条件变量实现出入队操作的线程安全?
  • JDK 中无界优先级队列 PriorityBlockingQueue 原理剖析,PriorityBlockingQueue 内部使用堆算法保证每次出队都是优先级最高的元素,元素入队时候是如何建堆的,元素出队后如何调整堆的平衡的?
  • 浅谈上面各种队列的对比,以及给出部分队列在开源框架中使用样例。
已有67人预订
预订达标
文章出炉
     
04月11日
04月25日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张加多的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
退款保证:
• 04月17日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
你可能还喜欢
60分钟轻松搞定树莓派 AI 服务开发
微软公开课
大厂面试官亲述:0~3年移动研发工程师必备技能
richardcao
使用 Mpvue 开发微信小程序的最佳实践
美团点评技术团队
Tomcat 性能优化
only you
使用 Python 全栈打造淘宝客微信机器人
州的先生
普通程序员如何快速提升自己
王俊生
深度学习数学基础之微积分
王晓明
深入解读微服务架构下分布式事务解决方案
lee
程序员如何借力微信公众号打造个人品牌,实现财务和精神自由?
石皮先生
深入浅出安卓热门网络框架 OkHttp3 和 Retrofit 原理
shixinzhang 🌏
从0到1搭建属于自己的服务器
刘叫兽
从零开始帮助您用 Python 打造自己的区块链
Frank
深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列
应书澜
Java 进阶篇:理解 Class 和 Class 加载过程
张振华
大前端开发:前端如何开发 APP
差不多先生
微信扫描登录