ツーフェーズロック
Strict 2PL には以下の2つの原則がある。
トランザクションTがあるオブジェクトをリード/ライトしようとしたとき、そのオブジェクトに共有/排他ロックを使用しなければならない。
トランザクションTがかけた全ての排他ロックはTがコミットする際に解放される(コミット前ではない)。
以下に2つの相互に影響する処理での Strict 2PL の例を示す。
D = [ T 1 T 2 S ( A ) R ( A ) S ( A ) R ( A ) X ( B ) R ( B ) W ( B ) C o m m i t X ( C ) R ( C ) W ( C ) C o m m i t ] {\displaystyle D={\begin{bmatrix}T1&T2\\S(A)&\\R(A)&\\&S(A)\\&R(A)\\&X(B)\\&R(B)\\&W(B)\\&Commit\\X(C)&\\R(C)&\\W(C)&\\Commit&\end{bmatrix}}}