您当前的位置: 首页 > 

大前端之旅

暂无认证

  • 3浏览

    0关注

    403博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

什么是并发控制?并发控制技术的原理,最基本的分锁模式(排他锁,共享锁)

大前端之旅 发布时间:2019-11-23 19:18:15 ,浏览量:3

数据库是一个共享资源,应该允许多个用户程序并行地存取数据,当对数据库进行并行操作时,有可能出现数据不一致的情况。

并行操作:在单处理机系统中,事务的并行执行实际上是这些并行事务的操作轮流交叉进行。

为保证事务并发执行的正确,必须要有一定的调度手段以保障事务并发执行中一事务执行时不受其他事务的影响。并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性。

并发控制的主要技术是封锁(locking)、时间戳(Timestamp)和乐观控制法。封锁是实现并发控制的一个非常重要的技术, 所谓封锁就是事务T在对某个数据对象(表、记录等)操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能存取或更新此数据对象。封锁一般由DBMS自动执行。

最基本的封锁模式有两种: 排它锁(eXclusive Locks,简称X锁)和共享锁(Share Locks,简称S锁)。

排它锁又称写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。

共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能修改A。   书山有路勤为径,学海无涯苦作舟,学习是一个积累的过程,希望我们共同进步,同时写的有问题的地方,希望大家指出!

关注
打赏
1660524863
查看更多评论
立即登录/注册

微信扫码登录

0.0404s