Datasnap.DataBkr.TCRemoteDataModule.Lock
Delphi
procedure Lock; virtual;
C++
virtual void __fastcall Lock();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Datasnap.DataBkr.pas Datasnap.DataBkr.hpp |
Datasnap.DataBkr | TCRemoteDataModule |
説明
Lock は、他のスレッドにロックされないようにするために、リモート データ モジュールをロックします。
TCRemoteDataModule の派生クラスは、内部で Lock を使用して、すべての TRemoteDataModule 呼び出しがスレッドセーフになるようにします。フリースレッド モデルをサポートするリモート データ モジュールを実装する場合は、Lock を呼び出してから、データ モジュールに格納されたプロバイダなどのインスタンス データにアクセスします。スレッドの競合から保護しなければならないコード ブロックの処理が終了したら、Unlock メソッドを呼び出してロックを解放します。
Lock は、クリティカル セクションを使ってスレッドの競合に対する保護を行います。つまり、リモート データ モジュールのプロパティ、またはこれに格納されたオブジェクトにアクセスするすべてのコードは、Lock を呼び出す必要があります。そうしないと、スレッドの競合が発生します。