ロック
背景情報
マルチプロセス・システムでの重要な機能の 1 つに並行処理の制御があります。これは、異なるプロセスがデータの特定の要素を同時に変更し、破損に至ることを防止する機能です。したがって、ObjectScript、Caché SQL、Caché MVBasic、および Caché Basic のそれぞれでは、並行処理制御に使用するロックを操作するコマンドが提供されています。
%PersistentOpens in a new tab では、オブジェクトへの同時アクセスを制御する手段が提供されています。すなわち、このクラスの %OpenId() およびその他のメソッドの concurrency 引数です。それらのメソッドは、最終的には ObjectScript LOCK コマンドを使用します。すべての永続オブジェクトは、それらのメソッドを継承します。
メモリ内のロック・テーブルは初期状態で、現在のロックと、それらのロックを保持するプロセスに関する情報を含んでいます。管理ポータルを使用して、ロック・テーブルを表示したり、必要に応じてロックを削除します。"Caché 監視ガイド" の “ロックの監視” を参照してください。
ロックの詳細は、"ロックと並行処理の制御" の項目を参照してください。
使用可能ツール
インターシステムズでは、以下のツールも提供しています。
ロック・テーブル情報の読み込みを可能にします。このクラスでは詳細情報と例が提供されています。
可用性 : 全ネームスペース。
ロックを削除できます。また、ロック・テーブル・パラメータをクエリおよび調整できます。このクラスは、以下のようなメソッドを提供します。
-
DeleteOneLock()
-
GetLockSpaceInfo()
-
SetMaxLockTableSize()
-
その他
可用性 : %SYS ネームスペース。