並發控制

維基百科,自由的百科全書
跳至導覽 跳至搜尋

計算機科學,特別是程序設計作業系統多處理機資料庫等領域,並發控制(英語:Concurrency control)是確保及時糾正由並發操作導致的錯誤的一種機制。

資料庫管理系統中的並發控制[編輯]

資料庫管理系統(DBMS)中的並發控制的任務是確保在多個事務同時存取資料庫中同一數據時不破壞事務的隔離性和統一性以及資料庫的統一性。下面舉例說明並發操作帶來的數據不一致性問題:

現有兩處火車票售票點,同時讀取某一趟列車車票資料庫中車票餘額為 X。兩處售票點同時賣出一張車票,同時修改餘額為 X -1寫回資料庫,這樣就造成了實際賣出兩張火車票而資料庫中的記錄卻只少了一張。

產生這種情況的原因是因為兩個事務讀入同一數據並同時修改,其中一個事務提交的結果破壞了另一個事務提交的結果,導致其數據的修改被丟失,破壞了事務的隔離性。並發控制要解決的就是這類問題。

封鎖時間戳樂觀並發控制悲觀並發控制是並發控制主要採用的技術手段。

參考文獻[編輯]

本條目的部分內容翻譯自英語維基百科條目Concurrency control並以創用CC-署名-相同方式共享3.0協議授權使用。原文作者列表請參閱其頁面歷史
  • 王珊、薩師煊. 數據庫系統概論 (M) 4. 北京: 高等教育版社. 2006. ISBN 7-04-019583-6. 

外部連結[編輯]