0
点赞
收藏
分享

微信扫一扫

大厂面试技术题解析——谈谈你对AQS的理解

谈谈你对AQS的理解

AQS 是 AbstractQueuedSynchronizer 的简称 ,是并发编程中比较核心的组件。

在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程 ,那么你很难通过大厂高薪岗位的面试。

我们来看一下 ,关于“谈谈你对 AQS 的理解“ ,看看普通人和高手是如何回答的!

普通人的回答

AQS 全称是 AbstractQueuedSynchronizer,它是 J.U.C 包中Lock 锁的底层实现,可以用它来实现多线程的同步器!

高手的回答

AQS 是多线程同步器 ,它是J.U.C包中多个组件的底层实现,如Lock

CountDownLatch、Semaphore 等都用到了 AQS.

从本质上来说 ,AQS提供了两种锁机制 ,分别是排它锁 ,和共享锁。

排它锁,就是存在多线程竞争同一共享资源时,同一时刻只允许一个线程访问该共享资源,也就是多个线程中只能有一个线程获得锁资源,比如

Lock 中的 ReentrantLock 重入锁实现就是用到了能。

共享锁也称为读锁 ,就是在同一时刻允许多个线程同时获得锁资源 ,比如

CountDownLatch 和 Semaphore 都是用到了 AQS 中的共享锁功能。

大厂内推请点击

举报

相关推荐

0 条评论