败犬日报 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. 关于内存序的博客
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
当出现冲突的时候,要优先考虑最终用户,要对最终用户有益,而不是其他要求满足其需求的利益相关者。