共享锁与排它锁

简介: 共享锁与排它锁

在多用户共享的系统中,多用户对同一数据进行操作可能会带来数据不一致的情况,因此在并发操作中需要加锁操作,以此控制事务的并发执行。

共享锁:从名字可以看出,该锁可共享,写操作肯定不可共享,一共享数据就被写乱了,便没有“锁”可言了,所以共享锁为读操作“共享”,即本锁加上之后不可再进行写操作,但是可以读,也可称为只读锁。

排它锁:排它锁就比较霸道了,只要我加上这个锁,其他操作均不可进行,为啥呢?因为我要对该数据进行修改了,既然我要修改必然不能让别人再来修改,也必然不能加只读锁,因为加上只读锁,我就无法进行写操作了。

以上分析可得:一个数据被加上共享锁之后可再次加共享锁,但不可再加排它锁


相关文章
|
1月前
|
存储 关系型数据库 MySQL
MySQL数据库锁:共享锁和独占锁
本文详细介绍了`InnoDB`存储引擎中的两种行级别锁:共享锁(S锁)与排他锁(X锁)。通过具体示例展示了这两种锁的工作机制及其在`InnoDB`与`MyISAM`引擎中的表现差异。文章还提供了锁的兼容性矩阵,帮助读者更好地理解锁之间的互斥关系。最后总结了两种锁的特点及适用场景。适合希望深入了解`MySQL`并发控制机制的读者阅读。
46 1
|
3月前
|
数据库 索引 关系型数据库
乐观锁和悲观锁+行锁和表锁
【8月更文挑战第2天】
59 8
|
3月前
|
SQL 关系型数据库 MySQL
临键锁引发的死锁
【8月更文挑战第4天】
40 0
临键锁引发的死锁
|
3月前
|
关系型数据库 MySQL 数据库
共享锁与排它锁 + 意向锁+记录锁
【8月更文挑战第3天】
38 0
|
3月前
|
数据库 SQL
间隙锁+临键锁
【8月更文挑战第1天】
46 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库——锁-行级锁(行锁、间隙锁和临键锁)
MySQL数据库——锁-行级锁(行锁、间隙锁和临键锁)
91 0
|
SQL 数据库
初识MDL锁
初识MDL锁
109 1
|
6月前
|
SQL 存储 关系型数据库
MySQL表锁、行锁、排它锁和共享锁
MySQL表锁、行锁、排它锁和共享锁
82 0
MySQL表锁、行锁、排它锁和共享锁
|
6月前
|
数据库 数据安全/隐私保护
什么是行级锁和表级锁
什么是行级锁和表级锁
118 0
共享锁(读锁)和排他锁(写锁)
共享锁(读锁)和排他锁(写锁)
142 0