发布时间:2026/8/18 19:34:47
AQS:原理、组成与锁机制解析 1. 什么是AQS作用是什么AQSAbstractQueuedSynchronizerAQS是一个用于构建锁和同步器的抽象的线程同步框架用于解决线程阻塞和资源抢占的问题。2. AQS的组成包含哪些内容1.state同步状态用于记录资源的占用模式即记录资源在独占模式和共享模式下什么时候占用锁。2.CLH队列是一个虚拟双向队列用于存放暂时获取锁失败的线程每个在队列里等待的线程被封装成一个Node节点。3. AQS独占锁的获取流程先直接获抢锁第一次抢锁线程调用lock()方法首先通过CAS抢锁如果state为0则抢锁成功当前线程成功持锁如果state为1则表示锁已经被其他线程持有抢锁失败抢锁失败则进入acquire(int arg)方法。抢锁失败进入acqui()方法第二次抢锁一进入acquire(int arg)方法马上调用tryAcquire(arg) 方法再次进行抢锁tryAcquire(arg)里是用nonfairTryAcquire方法CAS快速进行抢锁。入队如果返回true则表示抢锁成功该线程成功持有锁若返回false则抢锁失败需要用addWaiter方法CAS自旋式将这个线程放入acquireQueued队列里。排队与阻塞这个线程放入acquireQueued队列里(1).首先如果在队列里是对头元素直接获取锁该线程成功持锁(2).若不是对头元素则判断其前驱是否为对头元素是则可以抢锁只有头节点的后继才有资格尝试获取锁直接调用tryAcquire方法抢锁如果抢锁成功则当前线程成功持锁(3).失败则线程阻塞看看前驱节点的状态是否为可以唤醒后继节点状态即SIGNAL-1如果是则等待被唤醒后得到抢锁资格继续抢锁如果不是即前驱节点异常即SIGNAL-1时重新通过CAS自旋抢锁直至抢到锁或者其前驱节点状态为SIGNAL-1。4. 共享模式和独占模式有什么区别多线程实现下独占模式某一个操作只能给一个线程进行线程A在进行时别的线程只能阻塞。state就是用来判断该操作是否在被线程进行。eg线程A想要执行某一操作若state0说明这个操作没有别的线程在执行该线程可以执行这个操作并且state会将0改成1此时state1若此时线程B也想进行这个操作但是state1则线程B就进行不了这个操作会被阻塞。共享模式某一个操作能够给多个线程执行线程A/B/C...等等只要在共享名额用户自己设置的内可以多线程一起操作。eg共享模式下需要限制线程共享名额不限制系统会崩溃用state来限制。首先先设置共享的数量n所以staten0线程A想要执行某一操作staten说明这个操作还没有别的线程在执行该线程可以执行这个操作并且state会数量减一来表示又有1个线程进行该操作共享名额减一所以state-1若此时线程B也想进行这个操作也是重复这个流程直至有某个线程想进行这个操作但是state0则表示共享名额为0已经不能再共享这个操作了这个线程就好被阻塞。5. AQS的公平锁和非公平锁有什么区别公平锁和非公平锁最大的区别在于在抢锁时是否排队。公平锁公平锁在线程抢锁时会遵循先进先出的排队原则排队只有队头元素可以拿到锁其余线程会被阻塞在外面需要等待唤醒后才能再次尝试获取锁。优点公平锁这样保证了每个线程都能拿到锁不会产生饥饿线程。缺点这样排队取锁的方式每个线程都会阻塞与唤醒性能消耗太大。非公平锁非公平锁在线程抢锁时先会插队抢锁即一上来就先直接抢锁不先排队如果刚刚好有锁空闲了可以直接强到并尺有锁若一上来插队抢锁不成功才会去排队。优点没有一上来就排队而是插队抢锁减少了阻塞和唤醒消耗的性能。缺点会存在饥饿线程的风险因为有可能插队抢锁多次成功导致在排队的线程一直拿不到锁。

相关新闻

2026/8/18 19:34:47

一文读懂Git 的底层原理:从 Commit 到 Blob

文章目录Git 概述Git 的内容追踪原理通过实际操作来理解第一种 object 类型:commit第二种 object 类型:tree第三种 object 类型:blob第二次 commit用 reference 追踪 commitTag总结Git 作为分布式版本管理工具的核心作用:支撑多人…

2026/8/18 19:34:47

函数相关知识

一、什么是函数? 函数是一个“可执行的代码块”,但在 JavaScript 中,它本质上是一种特殊的对象(Object),它拥有普通对象没有的“内部属性”[[Call]],这就是它能被执行的原因。特殊之处&#xff…

2026/8/18 20:50:20

Unity作品集演示实战:从项目整合到WebGL部署的完整指南

在求职或寻求合作机会时,一份精心制作的游戏开发作品集演示,其价值远超一份简单的简历列表。它能直观地展示你的技术实力、设计思维和项目经验。然而,很多开发者卡在了“如何将零散的项目整合成一个专业、流畅且能突出亮点的演示”这一环。本…

2026/8/18 20:50:20

嵌入式学习历程-堆栈分析(裸机篇)

写在前面的话:博主只是一个求职中的应届毕业生,工作经历尚浅,如有问题还请各位大佬不吝赐教,指出我的错误,十分感谢🙇‍🙇‍🙇‍ 同时图中出现的视频和截图来自youtube上的core dum…

2026/8/18 20:50:20

多智能体系统与组合融合:解决大模型价值对齐的工程实践

1. 从单兵作战到团队协作:为什么大模型需要“对齐”价值观? 最近在折腾大语言模型(LLMs)的时候,我一直在琢磨一个事儿:我们费了老大劲,又是微调又是提示工程,好不容易让模型在某个任…

2026/8/18 20:50:20

Spring AI 2.0:Flux

方法作用Spring AI 常见用途map一对一转换内容脱敏、包装 SSE、格式转换filter过滤元素忽略空片段或无效事件doOnNext观察元素日志、统计输出片段doOnError观察异常记录模型或网络异常doFinally观察最终结束统计耗时、识别完成/失败/取消onErrorResume切换备用流返回友好错误、…

2026/8/18 20:50:20

OpenRouter Ori DeepSeek Harness:本地部署大模型实战指南

在探索大模型应用落地的过程中,开发者们常常面临一个核心矛盾:如何在享受云端强大模型能力的同时,又能保证数据安全、降低延迟,并实现成本可控?OpenRouter 最新推出的 Ori DeepSeek Harness 正是为解决这一痛点而生。…

2026/8/18 20:45:19

从论文复现看AI智能体工程化能力:超越基准测试的核心评估

上周,一个名为“Faraday 27B”的智能体在论文复现任务上,其表现被一些讨论认为超越了Claude Opus 4.8和GPT-5.5。这个消息在技术社区里激起了一些水花,但很快又淹没在“哪个模型更强”的日常争论中。作为一个长期观察AI应用落地的开发者&…

2026/8/17 10:49:52

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 6:58:27

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/18 0:02:05

Qwen3.8-27B本地部署实战:17GB内存运行270亿参数大模型

1. 这篇文章真正要解决的问题 你是否曾对动辄需要上百GB显存才能运行的百亿参数大模型望而却步?是否觉得在个人电脑上部署一个功能强大的语言模型是天方夜谭?最近,通义千问团队发布的 Qwen3.8-27B 模型,宣称仅需 17GB 内存即可在本…

2026/8/18 0:02:05

ME3169 36V,8A,180KHz 恒压Buck DC-DC 转换器

概述ME3169 是一款180KHz,PWM 模式恒压Buck DC-DC 转换器,8V 到36V 宽工作电压范围,低纹波,内置低导通电阻功率MOS。ME3169 内置环路补偿电路,可以减少外围元器件数量。内部设计有恒压环路,可以通过外部电阻…

2026/8/18 18:23:10

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/17 17:27:06

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/18 7:12:40

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…