0. 写在前面
最近笔试遇到很多问题,见都没有见过:什么信号量机制(后来发现是操作系统的重要内容,但是我还没学到)、什么MySQL锁;知道的但是做不出来或者不敢肯定的:先中后序遍历二叉树、快排,GG了,白学了。
1. 共享锁(S锁)
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
2. 排他锁 (X锁)
又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。
这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
以我现在的水平理解,加锁可以保护数据完整性,防止数据更改影响其他事务的运行??
等我知道了更多再来写后记,留个坑。