第一眼看到AbstractQueuedSynchronizer,通常都会有这几个问题。

  • AbstractQueuedSynchronizer为什么要搞这么一个类?
  • 这个类是干什么的、有什么用?
  • 这个类的实现原理是什么?

下面我边学边教,来解答这3个问题。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

问题一:AbstractQueuedSynchronizer产生的背景

AbstractQueuedSynchronizer 我这里用简写AQS表示。如果开发者想自己定义一个同步器怎么写?Java程序员用C++写个同步器不现实,这时如果有一个用来写同步器的Java类,就显得很不错。

我也不知道什么场景才需要去重新写同步器?

慢慢往下看。

参考文档

Java并发编程-看懂AQS的前世今生
java架构师成长之路-Java并发核心类AQS同步器原理分析

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄