天天看点

浅谈happens-before前言happens-beforejuc相关实践

文章目录

  • 前言
  • happens-before
  • juc相关实践

前言

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

happens-before

翻译:之前修改过的东西,之后还是能看到的。

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

juc相关实践

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

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

and so on…