<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>无锁编程 on PlumePHP</title><link>https://plumephp.com/tags/%E6%97%A0%E9%94%81%E7%BC%96%E7%A8%8B/</link><description>Recent content in 无锁编程 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 10 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E6%97%A0%E9%94%81%E7%BC%96%E7%A8%8B/index.xml" rel="self" type="application/rss+xml"/><item><title>C++ 原子操作与内存序：从无锁编程到内存屏障</title><link>https://plumephp.com/cpp-atomic-memory-order/</link><pubDate>Thu, 10 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/cpp-atomic-memory-order/</guid><description>&lt;h2 id="为什么需要无锁编程"&gt;为什么需要无锁编程&lt;/h2&gt;
&lt;p&gt;在多线程程序中，互斥锁（mutex）是最常用的同步原语，但它并非银弹。当线程竞争锁失败时，操作系统会将其挂起，引发一次开销可观的上下文切换。在高度竞争的场景下，多个线程反复获取和释放同一把锁，还会导致&lt;strong&gt;缓存行颠簸&lt;/strong&gt;（cache line bouncing）——锁变量所在的缓存行在各个 CPU 核心之间来回迁移，严重损害性能。&lt;/p&gt;</description></item></channel></rss>