Skip to content

败犬日报 2025-02-11

1. 内存屏障是为了解决编译器和 CPU 的乱序执行问题,以及缓存一致性里 Store Buffer 和 Invalidate Queue 带来的问题

后面两个是架构特有的。

2. 内存序 AcqRel,实际运行各个核会看到不一样的顺序吗

因为缓存失效通知是异步送达的。https://zh.cppreference.com/w/cpp/atomic/memory_order 最后的例子中,假设双路主板,a 和 c 在一个插槽上,b 和 d 在另一个插槽上。

3. 关于内存序的博客

https://research.swtch.com/mm

4. C++ proxy库的多态是怎么实现的 - 严格鸽的文章 - 知乎

https://zhuanlan.zhihu.com/p/22307747744

5. RFC 8890 - The Internet is for End Users

https://www.mnot.net/blog/2020/08/28/for_the_users

当出现冲突的时候,要优先考虑最终用户,要对最终用户有益,而不是其他要求满足其需求的利益相关者。

6. 杂谈:一个 C++ Header-only 版本冲突的案例分析 - 陈甫鸼的文章 - 知乎

https://zhuanlan.zhihu.com/p/684965383