02 2021 档案

摘要:假设A是某缓存行的内容 CPU1 read A CPU2 read A CPU3 read A CPU 3 在寄存器中修改 A 中内容,并且写入写缓存区StoreBuffer,假设修改是 ++A(就是A现在等于 A +1,图里放不下,简写成++A) CPU1 和 上一步 CPU3 同样操作 总是得有 阅读全文
posted @ 2021-02-18 23:39 执生 阅读(449) 评论(1) 推荐(0)
摘要:仅供参考,如有不妥之处,请多指正 在网上看到许多博客说 java 的 volatile 修饰的 double 和 long 在 32 位机上也是保证原子性的。 但是没有说明为什么,怎么具体实现,是使用互斥量吗,但是要访问的 volatile 修饰的 long,double 变量的地址是随机的,而且数 阅读全文
posted @ 2021-02-13 11:53 执生 阅读(233) 评论(0) 推荐(0)
摘要:问题场景: 假设用户A的账户余额是 100 现在有两个事务 a,b a 事务内容是 用户A消费 30 元 b 事物内容是 用户A消费 60 元 如果现在 a 和 b 互相不设防,无论 a 和 b 是什么事务隔离级别(除了序列化),最终结果都可能是错误的 模拟: 1. 读提交情况下,这种情况没有正确可 阅读全文
posted @ 2021-02-08 12:15 执生 阅读(775) 评论(0) 推荐(0)