![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
锁
JFJ林
这个作者很懒,什么都没留下…
展开
-
数据库的悲观锁和乐观锁
悲观锁:悲观锁认为被他保护的数据是不安全的,随时都有可能变动,一个事务拿到悲观锁之后,其他任何事务都不能对该数据进行修改,只能等待锁被释放才可以执行。数据库中的行锁,表锁,读写锁,还有synchronized的实现都是悲观锁 (1)优点: 悲观锁利用数据库中的锁机制来实现数据变化的顺序,这是最有效的办法。 (2)缺点:一个事务用悲观锁对数据加锁之后,其他数据将不能对加锁的数据进行除了查询意外的所有...原创 2019-05-15 18:04:47 · 272 阅读 · 0 评论 -
Java锁
锁从宏观上分为乐观锁和悲观锁 乐观锁:乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操作。 java中的乐观锁基本都是通过CAS操作实现的,CAS是一种更新的原子...转载 2019-05-15 18:03:49 · 91 阅读 · 1 评论