摘要: 什么是死锁? 当一个线程永远地持有一个锁,并且其他线程都尝试去获得这个锁时,那么它们将永远被阻塞,当线程A持有锁1想获取锁2,当线程B持有锁2想获取锁1 这种情况下就会产生2个线程一直在阻塞等待其他线程释放锁1 锁2 就会造成死锁。 下面我们来看一下死锁的示例: 输出: 后面什么都不输出了, 为什么 阅读全文
posted @ 2017-02-10 16:06 Zombie_Xian 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 转载:http://chenzhou123520.iteye.com/blog/1860954 悲观锁介绍: 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供 阅读全文
posted @ 2017-02-10 11:14 Zombie_Xian 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 转载:http://chenzhou123520.iteye.com/blog/1863407 乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了, 阅读全文
posted @ 2017-02-10 10:49 Zombie_Xian 阅读(249) 评论(0) 推荐(0) 编辑