浅谈happens-before

前言

谈到并发,这个happens-before必不可少,因为很多东西都是基于它进行实现的。

happens-before

翻译:之前修改过的东西,之后还是能看到的。
讲个故事:小明在黑板上写上小明,然后小红把他擦掉,改成小红,这时小明看完黑板来气了,我他喵的刚刚不是小明吗,怎么变成小红了?但是程序是不会自己识别是不是他自己的东西,导致脏读

juc相关实践

你会发现happens-before跟一堆juc的东西所关联。

  1. 锁,lock
  2. 读写锁ReadWriteLock,写锁完之后会锁降级为读锁,就是为了避免上面说的脏读,也是避免写完之后再次读,拿不到读锁。
  3. Mysql RR事务隔离级别 底层mvcc,同一个开始时间的事务读到的数据都是一样的。

and so on…

发布了213 篇原创文章 · 获赞 31 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/weixin_38336658/article/details/102545597