摘要: 可重入锁详解(什么是可重入) 什么是 “可重入”,可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。例如 package com.test.reen; // 演示可重入锁是什么意思,可重入,就是可以重复获取相同的锁,synchronized和ReentrantLock都是可重入的 / 阅读全文
posted @ 2020-09-28 16:19 倔强的蒲公英 阅读(233) 评论(0) 推荐(0)
摘要: 看完你就明白的锁系列之自旋锁 在上一篇文章 看完你就应该能明白的悲观锁和乐观锁 中我们已经学习到了什么是悲观锁和乐观锁、悲观锁和乐观锁的实现、优缺点分别是什么。其中乐观锁的实现之一 CAS 算法中提到了一个自旋锁的概念,为了全面理解 CAS 算法就首先需要了解一下自旋锁 是什么,自旋锁的适用场景和优 阅读全文
posted @ 2020-09-28 16:12 倔强的蒲公英 阅读(706) 评论(0) 推荐(0)
摘要: 乐观锁+版本号解决锁竞争问题 在高并发的场景下,经常会遇到这种情况:A请求过来,查询出来一条数据,进行update操作,与此同时B请求也在这个时候过来,对这条数据进行查询,并进行操作。此时就会出现B在A之后进行查询操作,但是实际B的数据却被A覆盖。 这种情况并不少见,有时候会为了避免这种情况,我们会 阅读全文
posted @ 2020-09-28 16:01 倔强的蒲公英 阅读(595) 评论(0) 推荐(0)