网站首页 > 技术教程 正文
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的并发类实现
欢迎 你 发表评论:
- 12-22电脑回收上门 交易平台(电脑回收上门交易平台)
- 12-22win10版本21h1(win10 21h1版)
- 12-22硬盘分区格式有几种(硬盘分区格式主要有)
- 12-22oppo手机怎么看wifi密码(已连上wifi怎么看密码)
- 12-22sd卡不可用怎么恢复正常(手机sd卡不可用怎么办)
- 12-22迅雷会员激活码大全(迅雷会员激活码在哪里激活)
- 12-22怎么装系统到固态硬盘(怎么把系统装进固态盘)
- 12-22w8系统怎样激活(怎样激活windows8)
- 最近发表
- 标签列表
-
- 下划线是什么 (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)

本文暂时没有评论,来添加一个吧(●'◡'●)