锁,数据同步

简介: 锁,数据同步

经常遇到数据同步的问题,具体有哪些情况呢?来聊一聊。我知道的,应该有以下四种,原子操作,中断控制,自旋锁和信号量。

原子操作

适用情况和场景

原子操作经常用在单个变量,比如一个整数或者bool变量;

场景:像全局计数器,状态标志变量。

中断控制

适用情况和场景

适用情况,数据量多的时候

场景:关闭/开启中断,单核CPU

自旋锁

适用情况和场景

既然中断操作无法满足所有的情况,自然有一些新的场景,需要新的方法来实现,这就是自旋锁;它适用于多核CPU情况;具体原理呢,请看下图:

image.png

信号量

适用情况和场景

看过自旋锁,发现其实自旋锁适用于短时间还好,要是长时间等待呢,怎么搞?这就有了信号量。信号量适用长时间等待的情况,它有等待,互斥,唤醒操作。需要的时候,唤醒它,就可以用了。也挺智能的。

小结

四种情况小结

以上就是数据同步的四种情况,适用于不同的场景。原子操作,中断控制,自旋锁,信号量,用到什么,自取。

相关文章
|
6月前
|
存储 关系型数据库 MySQL
数据同步大事务同步延迟
数据同步大事务同步延迟
81 6
|
6月前
|
分布式数据库 数据库
数据同步并发控制与数据一致性
数据同步并发控制与数据一致性
86 3
|
11天前
|
缓存 前端开发 安全
数据同步原理
数据同步原理
46 10
数据同步原理
|
3月前
|
存储 关系型数据库 MySQL
MySQL主从同步如何保证数据一致性?
MySQL主从同步如何保证数据一致性?
252 0
MySQL主从同步如何保证数据一致性?
|
5月前
|
存储 Oracle 关系型数据库
几种常见的数据同步方式
【6月更文挑战第18天】几种常见的数据同步方式
675 4
|
6月前
|
数据采集 缓存 搜索推荐
数据同步问题
数据同步问题
85 1
|
6月前
|
SQL 监控 调度
dts数据一致性保证
dts数据一致性保证
171 3
|
6月前
|
数据采集 关系型数据库 MySQL
dts同步问题之同步冲突
dts同步问题之同步冲突
177 5
|
6月前
|
存储 NoSQL 数据库连接
Redis主从模式以及数据同步原理:全量数据同步、增量数据同步
Redis主从模式以及数据同步原理:全量数据同步、增量数据同步
775 0
|
网络安全 数据库 流计算
几个可能的原因会导致数据同步中断
几个可能的原因会导致数据同步中断
242 1