码上敲享录 > mysql面试题 > 共享锁 、 排他锁的描述

共享锁 、 排他锁的描述

上一章章节目录下一章 2023-07-17已有166人阅读 评论(0)

共享锁(Shared lock):

- 描述:共享锁是一种读锁,也称为共享读锁。当一个事务获取了共享锁后,其他事务也可以获取相同的共享锁来读取数据,但不能进行写操作。

- 特点:

 - 允许多个事务并发地获取共享锁,以读取相同的数据。

 - 共享锁之间不互斥,可以共享资源,不会阻塞其他的共享锁请求。

 - 共享锁与共享锁之间是兼容的,但与排他锁是互斥的,即一个事务持有共享锁时,其他事务无法获取排他锁。

 - 共享锁主要用于读取操作,提供了读取一致性和并发性能,但不允许进行写操作。


排他锁(Exclusive lock):

- 描述:排他锁是一种写锁,也称为独占锁或排他写锁。当一个事务获取了排他锁后,其他事务无法获取共享锁或排他锁,直到持有排他锁的事务释放锁。

- 特点:

 - 排他锁是独占资源的锁,允许事务进行读写操作,其他事务无法获取共享锁或排他锁来读取或修改数据。

 - 排他锁与共享锁、排他锁之间都是互斥的,即一个事务持有排他锁时,其他事务无法获取共享锁或排他锁。

 - 排他锁提供了写操作的排他性和数据的完整性,但可能会导致并发性能下降,因为其他事务需要等待排他锁释放。


共享锁和排他锁是并发控制中常用的两种锁类型,在事务中可以根据需要来选择获取哪种类型的锁。共享锁适用于多个事务并发读取数据的场景,它提供了读取一致性和高并发性能;排他锁适用于需要独占资源进行写操作的场景,它提供了写操作的排他性和数据的完整性,但可能对并发性能有一定的影响。根据具体的应用需求,可以灵活地选择使用共享锁或排他锁来实现并发控制。


向大家推荐《Activiti工作流实战教程》:https://xiaozhuanlan.com/activiti
0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交