Soap.SOAPDm.TSoapDataModule.Lock
Delphi
procedure Lock; virtual;
C++
virtual void __fastcall Lock();
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Soap.SOAPDm.pas Soap.SOAPDm.hpp |
Soap.SOAPDm | TSoapDataModule |
説明
Lock は,SOAP データモジュールをロックします。そのため,リモートデータモジュールはほかのスレッドではロックできません。
SOAP データモジュールで Lock メソッドを内部的に使用すると,すべての IAppServer 呼び出しを確実にスレッドセーフにできます。SOAP データモジュールの下位オブジェクトを実装するときには,データモジュールに含まれるプロバイダをはじめとする,あらゆるインスタンスデータへのアクセス前に,Lock を呼び出します。スレッドの競合から保護しなければならないコードブロックの処理が終了したら,Unlock メソッドを呼び出してロックを解放します。
Lock は,クリティカルセクションを使ってスレッドの競合に対する保護を行います。つまり,SOAP データモジュールのプロパティまたは格納されたオブジェクトにアクセスするコードは,すべて Lock を呼び出す必要があります。呼び出さなかった場合,スレッドの競合が引き起こされます。