网站首页 > 技术教程 正文
AQS的定义
AQS 是 AbstractQueuedSynchronizer 的简称,是并发编程中比较核心的组件。在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不懂并发编程,那么你很难通过大厂高薪岗位的面试。这一句话我是很认同的,如果我们的项目里面还没有用到并发相关的技术框架,只能说我们的业务技术要求很低。
AQS在并发框架中的使用,及源码截图
AQS 是多线程同步器,它是 J.U.C 包中多个组件的底层实现,如 ReentrantLock、CountDownLatch、Semaphore 等都用到了 AQS.
如源码图:
从本质上来说,AQS 提供了两种锁机制,分别是排它锁,和 共享锁。
排它锁,就是存在多线程竞争同一共享资源时,同一时刻只允许一个线程访问该
共享资源,也就是多个线程中只能有一个线程获得锁资源,比如 Lock 中的
ReentrantLock 重入锁实现就是用到了 AQS 中的排它锁功能。
共享锁也称为读锁,就是在同一时刻允许多个线程同时获得锁资源,比如
CountDownLatch 和 Semaphore 都是用到了 AQS 中的共享锁功能。
总结
我们学习并发编程的时候,不能仅仅通过背一些面试题, 这样只能留下一个短期的印象,长期来看价值并不大,因为很容易忘记。这里很重要的一点是印象不够深刻,所以我觉得我们应该要自己多动动手,看到一个面试题的时候,去源码中去找答案。
猜你喜欢
- 2024-10-30 读写锁,你难道不需要了解一下吗?
- 2024-10-30 谷歌云故障14个小时,系“队列突变大量积压”引起
- 2024-10-30 什么是AQS及其原理(aqs作用)
- 2024-10-30 码仔漫画:怎么给女朋友讲明白线程池?
- 2024-10-30 面试官:谈谈这4种磁盘IO调度算法--CFQ、NOOP、Deadline、AS
- 2024-10-30 QT的信号槽机制简介(qt信号槽优缺点)
- 2024-10-30 Java AQS(AbstractQueuedSynchronizer)详解
- 2024-10-30 AQS是什么(AQS是什么药品)
- 2024-10-30 详解磁盘IO调度算法--CFQ、NOOP、Deadline、AS
- 2024-10-30 基于AbstractQueuedSynchronizer的并发类实现
你 发表评论:
欢迎- 09-13笔记本电脑接口很多,不认识,电脑小白必看
- 09-13HDMI 视频接口的三种类型及应用_hdmi视频连接线
- 09-13显卡总线接口类型_显卡的总线接口
- 09-13常见的麦克风接头有哪几种?各有什么特点和用途?
- 09-13我们所用的显卡有过多少种接口?下文告诉你
- 09-13硬件科普:显卡的这几个接口到底有什么区别?
- 09-13交换机中的接口类型-access_交换机接口描述
- 09-13计算机组成:输入输出接口的基本组成,功能和分类
- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)