悲観ロック 【pessimistic locking】

概要

悲観ロック(pessimistic locking)とは、共有データ排他制御(ロック)の一種で、他の主体のアクセスを禁止してから共有データの処理をう手法。資源の競合が頻繁に起きる前提に立つため「悲観」と呼ばれる。

並行処理が可能なシステムでは、同じシステム上の同じ資源(共有メモリ領域など)を、複数の主体(利用者プログラムなど)が同時にアクセスすることがある。その際、処理に矛盾が生じないよう他の主体のアクセスを制限する仕組みを「ロック」(locking)という。

悲観ロックは処理開始時に他の主体によるアクセスを禁じる措置を講じる方式で、ある主体がシステムの共有資源を利用して処理をっている最中に、頻繁に他の主体からの参照や変更の要求がわれる前提に立っている。

処理が終わり資源の更新をったあと、ロックを解除して他の主体が利用できるよう解放する。処理中に他の主体が資源を書き換える心配がなく確実に処理を完遂できるが、処理中は他の主体を待たせることになり、処理の異常で解放が正常にわれないとロックされたままになってしまうことがある。

資源へのアクセスを禁じる機構や、待っている他の主体に空いたこと知らせる機構などを整備する必要があり、アプリケーションが個別に実装することは難しいことが多いため、オペレーティングシステムOS)やデータベース管理システムDBMS)などプラットフォーム側の機能として提供されるのが一般的である。

一方、処理開始時に他の主体によるアクセスを禁じないロック方式を「楽観ロック」(optimistic locking)という。処理中に他の主体が資源を書き換えてしまったら結果を破棄してやり直す。資源の競合が滅多に起きないと想定されるシステムや、処理のやり直しが簡単な場合などに用いられる。

(2024.8.21更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる