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

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

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

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

本 Chat 作为 Java 并发编程之美系列的高级篇之三,主要讲解锁,内容如下:(建议先阅读 Java 并发编程之美:并发编程高级篇之二

  • 抽象同步队列 AQS (AbstractQueuedSynchronizer)概述,AQS 是实现同步的基础组件,并发包中锁的实现底层就是使用 AQS 实现,虽然大多数开发者可能从来不会直接用到 AQS,但是知道其原理对于架构设计还是很有帮助的。

  • 独占锁 ReentrantLock 原理探究,ReentrantLock 是可重入的独占锁或者叫做排它锁,同时只能有一个线程可以获取该锁,其实现分为公平与非公平的独占锁。

  • 读写锁 ReentrantReadWriteLock 原理,ReentrantLock 是独占锁,同时只有一个线程可以获取该锁,而实际情况下会有写少读多的场景,显然 ReentrantLock 满足不了需求,所以 ReentrantReadWriteLock 应运而生,本文来介绍读写分离锁的实现。

  • StampedLock 锁原理探究,StampedLock 是并发包里面 jdk8 版本新增的一个锁,该锁提供了三种模式的读写控制。

已有89人预订
预订达标
文章出炉
     
04月07日
04月20日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张加多的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
退款保证:
• 04月14日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
你可能还喜欢
60分钟轻松搞定树莓派 AI 服务开发
微软公开课
大厂面试官亲述:0~3年移动研发工程师必备技能
richardcao
使用 Mpvue 开发微信小程序的最佳实践
美团点评技术团队
Tomcat 性能优化
only you
使用 Python 全栈打造淘宝客微信机器人
州的先生
普通程序员如何快速提升自己
王俊生
深度学习数学基础之微积分
王晓明
深入解读微服务架构下分布式事务解决方案
lee
程序员如何借力微信公众号打造个人品牌,实现财务和精神自由?
石皮先生
深入浅出安卓热门网络框架 OkHttp3 和 Retrofit 原理
shixinzhang 🌏
从0到1搭建属于自己的服务器
刘叫兽
从零开始帮助您用 Python 打造自己的区块链
Frank
深入浅出理解基于 Kafka 和 ZooKeeper 的分布式消息队列
应书澜
Java 进阶篇:理解 Class 和 Class 加载过程
张振华
大前端开发:前端如何开发 APP
差不多先生
微信扫描登录