跳转到内容

并发控制:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Addbot留言 | 贡献
机器人:移除6个跨语言链接,现在由维基数据d:q2914952提供。
Jimmy-bot留言 | 贡献
机器人: 尚未清空的已重定向分类(Cat:協同控制Cat:并发控制
 
(未显示7个用户的8个中间版本)
第1行: 第1行:
{{noteTA
在[[计算机科学]],特别是[[程序设计]]、[[操作系统]]、[[多处理]]和[[数据库]]等领域,'''并发控制'''是确保及时纠正由并发操作导致的错误的一种机制。
|G1=IT
|1=zh-tw:並行控制;zh-cn:并发控制;
}}

在[[计算机科学]],特别是[[程序设计]]、[[操作系统]]、[[多处理]]和[[数据库]]等领域,'''并发控制'''({{lang-en|Concurrency control}})是确保及时纠正由并发操作导致的错误的一种机制。


==数据库管理系统中的并发控制==
==数据库管理系统中的并发控制==
[[数据库管理系统]](DBMS)中的并发控制的任务是确保在多个[[数据库事务|事务]]同时存取[[数据库]]中同一数据时不破坏事务的隔离性和统一性以及[[数据库]]的统一性。下面举例说明并发操作带来的数据不一致性问题:
[[数据库管理系统]](DBMS)中的并发控制的任务是确保在多个[[数据库事务|事务]]同时存取[[数据库]]中同一数据时不破坏事务的隔离性和统一性以及[[数据库]]的统一性。下面举例说明并发操作带来的数据不一致性问题:
:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录只少了一张。
:现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余额为 X -1写回数据库,这样就造成了实际卖出两张火车票而数据库中的记录只少了一张。
产生这种情况的原因是因为两个事读入同一数据并同时修改,其中一个事提交的结果破坏了另一个事提交的结果,导致其数据的修改被丢失,破坏了事的隔离性。并发控制要解决的就是这类问题。
产生这种情况的原因是因为两个事读入同一数据并同时修改,其中一个事提交的结果破坏了另一个事提交的结果,导致其数据的修改被丢失,破坏了事的隔离性。并发控制要解决的就是这类问题。


[[封锁 (数据库)|封锁]]、[[时间戳]]、[[乐观并发控制]]和[[悲观并发控制]]是并发控制主要采用的技术手段。
[[封锁 (数据库)|封锁]]、[[时间戳]]、[[乐观并发控制]]和[[悲观并发控制]]是并发控制主要采用的技术手段。


==参考==
== 参考文献 ==
{{Reflist}}
*{{Translation/Ref|lang=en|article=Concurrency control|oldid=}}
{{refbegin}}
*{{cite book zh |author=王珊 萨师煊 |title=数据库系统概论 |format=M |edition=4 |location=北京 |publisher=高等教育版社 |date=2006 |pages= |id= ISBN 7-04-019583-6}}
* {{Translation/Ref |lang = en |article = Concurrency control |oldid = }}
“原因为两个事物”应改为“原因为两个事务”
* {{cite book zh |authors=王珊萨师煊 |title=数据-{}-库系统概论 |format=M |edition=4 |location=北京 |publisher=高等教育版社 |year =2006 |pages = |ISBN = 7-04-019583-6 }}
{{refend}}


== 外部链接 ==
== 外部链接 ==
* [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 }}
[[分类:协同控制]]
[[分类:数据管理]]
[[分类:数据库]]


{{-}}
{{Database}}
{{Computer Science}}
{{Computer Science}}

[[分类:并发控制| ]]
[[Category:并发控制]]
[[分类:数据管理系统]]

{{软件小作品}}
{{软件小作品}}

2023年12月5日 (二) 02:22的最新版本

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

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

[编辑]

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

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

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

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

参考文献

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

外部链接

[编辑]