これは InterSystems FAQ サイトの記事です。
永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。
ご参考:オブジェクト同時処理のオプション
既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)
並行処理の基本事項は以下の通りです。
- アトミックな書き込みを保証したい場合は並行処理の値は0より大きい値を指定する必要があります。
- 並行処理の値が0より大きい場合、オブジェクトの保存や削除処理中は、ロックの取得と解放を実施します。
並行処理の値別の動作の違いは以下の通りです。(ドキュメントの「並行処理の値」に表がありますので併せてご覧ください)