博客摘录「 【JUC基础学习笔记】」2026年7月19日

发布时间:2026/7/20 13:23:58
博客摘录「 【JUC基础学习笔记】」2026年7月19日 乐观锁基于冲突检验的乐观并发策略即线程在访问共享资源时乐观地认为不会有其他线程来争抢该资源。即先不上锁进行访问如果操作成功则直接返回结果如果操作失败表示有其他线程想要访问该共享资源此时应该采取补救措施来保证线程安全。例如通过不断重试、自旋CAS操作避免进入阻塞态减少系统线程切换开销。其中保证冲突检测操作的原子性非常重要但随着硬件的发展也得到了解决CAS等指令。结论二者不是同一概念是包含关系1. 自旋 不断重试的一种实现方式自旋重试循环原地反复执行 CAS不释放 CPU、不阻塞线程一直轮询尝试属于无阻塞重试。底层靠 CPU 忙等无内核态切换开销低就是 CAS 标准做法。2. 不断重试 统称包含多种方案重试分两类自旋重试忙等CAS 常用阻塞重试失败后让出 CPU、线程挂起等待唤醒再重试会有上下文切换开销3. 原文语境区分文中 “不断重试、自旋CAS” 用顿号并列是简写表达 乐观锁冲突后通用方案是重试而最优、主流的重试手段是自旋 CAS 语义上重试是行为总称自旋是重试的特定实现。简单记所有自旋都是重试但重试不一定是自旋。