System.SysUtils.TMultiReadExclusiveWriteSynchronizer
Delphi
TMultiReadExclusiveWriteSynchronizer = class(TInterfacedObject, IReadWriteSync)
C++
class PASCALIMPLEMENTATION TMultiReadExclusiveWriteSynchronizer : public System::TInterfacedObject
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
説明
TMultiReadExclusiveWriteSynchronizer は,マルチスレッドアプリケーションでメモリを保護します。
TMultiReadExclusiveWriteSynchronizer は,マルチスレッドアプリケーションでメモリへのアクセスを管理するために使用します。クリティカルセクションでは,関連付けられているメモリへの読み書きをするほかのすべてのスレッドをブロックしますが,TMultiReadExclusiveWriteSynchronizer を使用すると,保護されたメモリから複数のスレッドが同時に読み出すことを可能とし,かつメモリに書き込むスレッドは排他的にアクセスできます。
スレッドがオブジェクトまたは変数から読み出す割合が多く,書き込むことが少ないアプリケーションでは,クリティカルセクションのかわりに複数読み出し/排他的書き込みシンクロナイザを使用することで処理効率が大幅に向上します。
保護されたメモリへのすべてのアクセスは,BeginRead メソッドと EndRead メソッドの呼び出し,または BeginWrite メソッドと EndWrite メソッドの呼び出しの間に挟まれていなくてはなりません。これらの呼び出しを使用せずにメモリを読み書きするスレッドが存在すると,スレッド間で競合が発生する可能性があります。