tag

原子操作

共 6 篇文章。
全部文章GoTypeScript游戏开发小游戏游戏设计Godot书稿RustPython性能优化游戏引擎PRDSaaS游戏服务端
cpp

C++ 无锁数据结构:栈、队列与安全内存回收

互斥锁在高竞争下会引发上下文切换与优先级反转,无锁数据结构用 CAS 等原子原语把同步下沉到硬件层面。本文从原子原语与 CAS 循环讲起,完整实现无锁栈与 Michael-Scott 队列,剖析 ABA 问题的成因与带标记指针的解法,重点讨论无锁编程真正的难点——内存回收,对比 hazard pointer、RCU 与 epoch-based reclamation 三种方案,给出内存序选型清单与压测验证方法。

8 分钟阅读
C++ 无锁编程 并发
cpp

C++ 原子操作与内存序:从无锁编程到内存屏障

为什么需要无锁编程 在多线程程序中,互斥锁(mutex)是最常用的同步原语,但它并非银弹。当线程竞争锁失败时,操作系统会将其挂起,引发一次开销可观的上下文切换。在高度竞争的场景下,多个线程反复获取和释放同一把锁,还会导致缓存行颠簸(cache line bouncing)——锁变量所在的缓存行在各个

8 分钟阅读
C++ 并发 原子操作