学 JUC 时发现 AQS 是很多同步工具的基础记录一下理解。什么是 AQSAQSAbstractQueuedSynchronizer是 Java 并发包的一个基类ReentrantLock、CountDownLatch、Semaphore 都是基于它实现的。核心思想AQS 内部维护了一个 volatile int 状态值表示资源是否被占用0 空闲1 被占一个 CLH 双向队列排队的线程都在里面等着简单理解加锁过程线程 A 来加锁 → state 是 0 → CAS 改成 1 → 拿到锁了 线程 B 来加锁 → state 是 1 → 加到等待队列里 → 阻塞 线程 A 释放锁 → state 改回 0 → 唤醒队列中的线程 BReentrantLock 的可重入同一个线程多次加锁state 会累加比如重入两次 state2释放锁时也对应减减到 0 才真正释放。公平锁 vs 非公平锁公平锁先来后到按队列顺序非公平锁插队上来先 CAS 抢一下没抢到再去排队ReentrantLock 默认是非公平的和 synchronized 一样。总结理解 AQS 对后续学习各种锁和同步器帮助很大。源码虽然复杂但核心就是 CAS 队列。
AQS 原理初探
学 JUC 时发现 AQS 是很多同步工具的基础记录一下理解。什么是 AQSAQSAbstractQueuedSynchronizer是 Java 并发包的一个基类ReentrantLock、CountDownLatch、Semaphore 都是基于它实现的。核心思想AQS 内部维护了一个 volatile int 状态值表示资源是否被占用0 空闲1 被占一个 CLH 双向队列排队的线程都在里面等着简单理解加锁过程线程 A 来加锁 → state 是 0 → CAS 改成 1 → 拿到锁了 线程 B 来加锁 → state 是 1 → 加到等待队列里 → 阻塞 线程 A 释放锁 → state 改回 0 → 唤醒队列中的线程 BReentrantLock 的可重入同一个线程多次加锁state 会累加比如重入两次 state2释放锁时也对应减减到 0 才真正释放。公平锁 vs 非公平锁公平锁先来后到按队列顺序非公平锁插队上来先 CAS 抢一下没抢到再去排队ReentrantLock 默认是非公平的和 synchronized 一样。总结理解 AQS 对后续学习各种锁和同步器帮助很大。源码虽然复杂但核心就是 CAS 队列。
相关文章
机房布线五大坑点曝光,劣质电源线暗藏多重致命隐患
机房供电故障中,超过六成根源来自劣质服务器电源线:接口不匹配强行改装、线芯缩水虚标、缺少安全认证、材质偷工减料、线材过长堆积积热,每一项隐患都可能造成服务器烧毁、机房火情。想要彻底规避风险,必须严格执行接口适配、电流…
Web开发
Web开发 一、前端工程化核心工具 1.1 Vue、Vite、npm 的职责划分 Vue(前端框架):提供组件化与响应式编程模型,将页面拆分为可复用的组件,管理视图层状态。npm(包管理器):Node.js 的默…
LinkSwift:九大网盘直链解析工具,开启高速下载新体验
LinkSwift:九大网盘直链解析工具,开启高速下载新体验 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…
构建微信消息路由引擎:wechat-forwarding 架构解析与实战应用
构建微信消息路由引擎:wechat-forwarding 架构解析与实战应用 【免费下载链接】wechat-forwarding 在微信群之间转发消息 项目地址: https://gitcode.com/gh_mirrors/we/wechat-forwarding 在复杂的组织协作环境中,微信作为主要的沟通工具承载着海…
现场 w3wp 卡顿,dump 抓回来托管栈全是死的:一次从 696 万对象里挖根因的排查实录
作者:技术从业16年,踩过坑、做过技术负责人、带过团队,也亲眼看着AI把很多”理所当然”的事情重新洗牌。不追热点,只写真实踩过的坑和总结过的东西,欢迎关注一起交流。 起因:现场说"系统卡得没法用了&…
一个退伍老兵给 DeepSeek 提了个“防 blowout“补丁: tags: [DeepSeek, AI治理, 开源, 龍魂系统, 可验证AI] categories: [人工智能, 技术治理]
title: 一个退伍老兵给 DeepSeek 提了个"防 blowout"补丁,GitHub 上说了三个月, tags: [DeepSeek, AI治理, 开源, 龍魂系统, 可验证AI] categories: [人工智能, 技术治理] 作者:UID9622(龍芯北辰) 身份&…
AI 做的 PPT 永远在念稿——不是你不会用 Gamma,是演示文稿的品控规则它没装
AI 做的 PPT 永远在念稿——不是你不会用 Gamma,是演示文稿的品控规则它没装 去年我用 AI 工具做季度汇报的 PPT,给了我 28 页幻灯片,每页都是大段大段的项目总结,箭头、配色、图标排得整整齐齐。结果我打开看了一遍,关…
让循环代理停止健忘:journal + lessons 的记忆系统 12 分钟搭建
大多数正在运行的循环代理都患有健忘症。 每一次循环结束后,代理的记忆都会被重置。它不知道上一个循环已经试过某个修复方案并且失败了,于是它会在第 3 轮、第 5 轮、第 7 轮反复尝试完全相同的错误操作,烧掉大量 token 重新发现已经证明无…
Agentic Loop 的残酷现实:外部拒绝门禁才是成败关键,而非“睡醒后代理自动发货”
现在几乎所有人都在讨论构建 Agentic Loop。 大 V 们不再写提示词了,他们在建循环。每个星期都有新帖子告诉你“为什么你也应该这么做”。 但那些帖子几乎都漏掉了最重要的一点。 大多数人构建的循环,其实只是在烧钱。 Human-in-the-Loop vs 真正的 Agen…
Qwen2.5-Turbo百万上下文实战指南:百炼平台长文本处理全解析
1. 项目概述:这不是一次普通模型更新,而是一次上下文能力的质变跃迁“Qwen2.5-Turbo上线阿里云百炼平台,模型上下文长度扩展至百万tokens”——这句话里藏着三个关键信号:Turbo不是简单提速,而是面向生产环境的工程化重…
Kotlin的@JvmStatic与@JvmField:与Java互操作的注解
Kotlin作为一门现代编程语言,与Java的互操作性一直是其核心优势之一。为了让Kotlin代码能够无缝对接Java,Kotlin提供了多种注解来优化互操作体验,其中JvmStatic和JvmField是两个关键注解。它们分别用于解决静态成员和字段在Java中的访问问题&…
AI 驱动下 GEO 与 SEO 融合实战指南
摘要:本文深入探讨了从传统SEO到生成式搜索(GEO)的范式转移,为技术内容创作者揭示了新搜索生态下的挑战与机遇。面对大模型直接生成答案的趋势,单纯的关键词排名已不足以保证流量。文章系统性地提出了三大核心策略&…
Google AI Studio 300美元额度的真相与实战指南
1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…
PDF对比终极指南:用diff-pdf轻松识别文档差异的完整教程
PDF对比终极指南:用diff-pdf轻松识别文档差异的完整教程 【免费下载链接】diff-pdf A simple tool for visually comparing two PDF files 项目地址: https://gitcode.com/gh_mirrors/di/diff-pdf 还在为PDF文档的版本对比而烦恼吗?diff-pdf这款开…
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用
1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…
Zotero Duplicates Merger:5步彻底清理文献库重复条目
Zotero Duplicates Merger:5步彻底清理文献库重复条目 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为文献库中堆积如山的重…
利用随机有限集理论对蜂群的ILQR和MPC控制研究附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…
为什么你的Gemini邮件CTE低于行业均值2.8倍?:从Prompt架构到发送时序的深度归因
更多请点击: https://intelliparadigm.com 第一章:为什么你的Gemini邮件CTE低于行业均值2.8倍?:从Prompt架构到发送时序的深度归因 Gemini邮件的客户转化效率(CTE)显著偏低,根本原因常被误判为…