知识卡片

原子适合小共享值

专业/工作 · 471.b.2.a.4.a.1.c.1.b.1

内容

原子函数用底层同步机制保护整型和指针,适合简单计数或状态标记。发散:原子操作很快,但逻辑一复杂就该换锁或通道表达协议。与[[互斥锁保护临界区]]相比,原子操作更轻量,但只能处理[[竞争状态破坏正确性]]里最简单的那类场景。

参考来源

- 位置:《Go语言实战》第6章《并发》(源文件:_epub-src/OEBPS/Text/part0016.xhtml) - 结论依据:原文围绕“原子函数能够以很底层的加锁机制”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。 - 原始内容:的函数提供了很好的解决方案。下面我们了解一下 atomic 包里的几个函数以及 sync 包里的 mutex 类型。 6.4.1 原子函数 原子函数能够以很底层的加锁机制来同步访问整型变量和指针。我们可以用原子函数来修正代码清单6-9中创建的竞争状态,如代码清单6-13所示。 代码清单6-13 li……