首页
归档
分类
标签
瞬间
友链
关于
Rainsheep
一条没有梦想的咸鱼
累计撰写
395
篇文章
累计创建
89
个分类
累计创建
383
个标签
导航
首页
归档
分类
标签
瞬间
友链
关于
目录
分类
锁
redis 实现分布式锁
参考文档: Redis实现分布式锁 在单体应用中,如果我们对共享数据不进行加锁操作,会出现数据一致性问题,我们的解决办法通常是加锁。 在分布式架构中,我们同样会遇到数据共享操作问题,本文章使用 Redis 来解决分布式架构中的数据一致性问题。 1. 单机数据一致性 单机数据一致性架构如下图所示:多个
2022-04-18 14:00
43
0
0
28.3℃
锁
Redis
AQS 框架
参考文档:深入理解Java并发框架AQS系列(二):AQS框架简介及锁概念 1. AQS 框架和概念 1.1 思考 我们去学习一个知识点或开启一个新课题时,最好是带着问题去学习,这样针对性比较强,且印象比较深刻,主动思考带给我们带来了无穷的好处 抛开AQS,设想以下问题: Q:如果我们遇到 thre
2022-03-05 22:01
63
0
0
30.3℃
锁
java 锁
1. 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采取在写时先读出当前版本号,然后加锁操作(比较跟上一次的版本号,如果一样则更新),如果失败则要重复读-比较-写的操
2022-03-05 19:03
82
0
0
32.2℃
锁
ReentrantReadWriteLock
参考文档:ReadWriteLock场景应用解析 1. 介绍 为了提高性能,Java 提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,如果没有写锁的情况下,读是无阻塞的,在一定程度上提高了程序的执行效率。 读写锁分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,这是由 jvm 自己控制
2022-03-05 18:32
27
0
0
26.7℃
锁
CAS
1. 概念及特性 CAS(Compare And Swap/Set)比较并交换,CAS 算法的过程是这样:它包含 3 个参数 CAS(V,E,N)。 V 表示要更新的变量(内存值),E 表示预期值(旧的),N 表示新值。 当且仅当 V 值等于 E 值时,才会将 V 的值设为 N,如果 V 值和 E
2022-03-05 12:34
39
0
0
27.9℃
锁
类锁和对象锁
1. 对象锁 修饰在非静态方法或者锁对象为普通对象。 多个线程调用同一个对象的同步方法会阻塞,调用不同对象的同步方法不会阻塞。(java 对象的内存地址是否相同) // 非静态方法 public synchronized void obj3() { } // 普通对象 synchroni
2021-06-21 14:14
31
0
0
27.1℃
锁
弹