[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'sysutils' (#rtl)

# TMultiReadExclusiveWriteSynchronizer

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Standard implementation of a IReadWriteSync interface

## Declaration

Source position: systhrdh.inc line 40

`type TMultiReadExclusiveWriteSynchronizer = class(TInterfacedObject, IReadWriteSync)`
`public`
`constructor Create; virtual;` |  | Create a new instance of the TMultiReadExclusiveWriteSynchronizer class
`destructor Destroy; override;` |  | Destroys the TMultiReadExclusiveWriteSynchronizer instance
`function Beginwrite;` |  | Request write access to the resource.
`procedure Endwrite;` |  | Release write access to the resource
`procedure Beginread;` |  | Request read access to the resource
`procedure Endread;` |  | Release read access to the resource
`property RevisionLevel: Cardinal; [r]`
`property WriterThreadID: TThreadID; [r]`
`end;`

## Inheritance

`TMultiReadExclusiveWriteSynchronizer,IReadWriteSync` |  | Standard implementation of a IReadWriteSync interface
`TInterfacedObject`
?
`TObject`

## Description

TMultiReadExclusiveWriteSynchronizer is a default implementation of the IReadWriteSync interface. It uses a single mutex to protect access to the read/write resource, resulting in a single thread having access to the resource.

## See also

IReadWriteSync |  | Read/Write synchronizer