跳转到内容

并发控制:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
标签移动版编辑 移动应用程序编辑 Android应用编辑
InternetArchiveBot留言 | 贡献
补救3个来源,并将0个来源标记为失效。) #IABot (v2.0.7
第16行: 第16行:


== 外部链接 ==
== 外部链接 ==
* [http://c2.com/cgi/wiki?SynchronizationStrategies Portland Pattern Repository: Synchronization Strategies]
* [http://c2.com/cgi/wiki?SynchronizationStrategies Portland Pattern Repository: Synchronization Strategies] {{Wayback|url=http://c2.com/cgi/wiki?SynchronizationStrategies |date=20100619023335 }}
* [http://c2.com/cgi/wiki?CategoryConcurrency Portland Pattern Repository: Category Concurrency]
* [http://c2.com/cgi/wiki?CategoryConcurrency Portland Pattern Repository: Category Concurrency] {{Wayback|url=http://c2.com/cgi/wiki?CategoryConcurrency |date=20100203002308 }}
* [http://www.methodsandtools.com/archive/archive.php?id=83 Database Locking: What it is, Why it Matters and What to do About it]
* [http://www.methodsandtools.com/archive/archive.php?id=83 Database Locking: What it is, Why it Matters and What to do About it] {{Wayback|url=http://www.methodsandtools.com/archive/archive.php?id=83 |date=20091226110705 }}


{{-}}
{{-}}

2020年10月9日 (五) 05:10的版本

计算机科学,特别是程序设计操作系统多处理机数据库等领域,并发控制(英語:Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。

数据库管理系统中的并发控制

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。下面举例说明并发操作带来的数据不一致性问题:

现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录却只少了一张。

产生这种情况的原因是因为两个事务读入同一数据并同时修改,其中一个事务提交的结果破坏了另一个事务提交的结果,导致其数据的修改被丢失,破坏了事务的隔离性。并发控制要解决的就是这类问题。

封锁时间戳乐观并发控制悲观并发控制是并发控制主要采用的技术手段。

参考文献

  • 王珊、萨师煊. 数据库系统概论 (M) 4. 北京: 高等教育版社. 2006. ISBN 7-04-019583-6. 

外部链接