码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 谈谈你对 AQS 的理解


    (mic老师版面试题)

    AQS 是 AbstractQueuedSynchronizer 的简称,是并发编程中比较核心的组件。
    在很多大厂的面试中,面试官对于并发编程的考核要求相对较高,简单来说,如果你不
    懂并发编程,那么你很难通过大厂高薪岗位的面试。
    我们来看一下,关于“谈谈你对 AQS 的理解“,看看普通人和高手是如何回答的!
    普通人的回答
    AQS 全称是 AbstractQueuedSynchronizer,它是 J.U.C 包中 Lock 锁的底层实现,可
    以用它来实现多线程的同步器!
    高手的回答
    AQS 是多线程同步器,它是 J.U.C 包中多个组件的底层实现,如 Lock、
    CountDownLatch、Semaphore 等都用到了 AQS.
    从本质上来说,AQS 提供了两种锁机制,分别是排它锁,和 共享锁。
    排它锁,就是存在多线程竞争同一共享资源时,同一时刻只允许一个线程访问该共享资
    源,也就是多个线程中只能有一个线程获得锁资源,比如 Lock 中的 ReentrantLock 重
    入锁实现就是用到了 AQS 中的排它锁功能。
    共享锁也称为读锁,就是在同一时刻允许多个线程同时获得锁资源,比如
    CountDownLatch 和 Semaphore 都是用到了 AQS 中的共享锁功能。
  • 相关阅读:
    jvs-rules(规则引擎)和jvs智能bi(自助式数据分析)9.22更新内容
    GIT 分支管理办法
    WordPress重新安装的几种方法(2022年新版教程)
    for break实现代码验证练习题韩顺平
    继续折腾Centos7开启BBR加速有效提升访问和下载速度(亲测有效)
    Tesla AI day中感知部分的详细解析(一)——Transformer在图像领域的应用
    【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路
    102.二叉树的层序遍历
    网络编程常用的几种字符编码
    10-4 递归求简单交错幂级数的部分和
  • 原文地址:https://blog.csdn.net/qq_42362007/article/details/134261275
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号