* naieve implementation of TMREWS

git-svn-id: trunk@1030 -
This commit is contained in:
marco 2005-09-02 09:53:59 +00:00
parent 7acb5e8089
commit e6d48d0c6a
2 changed files with 44 additions and 0 deletions

View File

@ -30,3 +30,35 @@ procedure TCriticalSection.Leave;
begin
Release;
end;
constructor TMultiReadExclusiveWriteSynchronizer.Create;
begin
Crit:=tcriticalsection.create;
end;
destructor TMultiReadExclusiveWriteSynchronizer.Destroy;
begin
Crit.free;
end;
procedure TMultiReadExclusiveWriteSynchronizer.Beginwrite;
begin
Crit.acquire;
end;
procedure TMultiReadExclusiveWriteSynchronizer.Endwrite;
begin
Crit.release;
end;
procedure TMultiReadExclusiveWriteSynchronizer.Beginread;
begin
Crit.acquire;
end;
procedure TMultiReadExclusiveWriteSynchronizer.Endread;
begin
Crit.acquire;
end;

View File

@ -62,3 +62,15 @@ type
TSimpleEvent = class(TEventObject)
constructor Create;
end;
TMultiReadExclusiveWriteSynchronizer = class
private
crit:TCriticalsection;
public
constructor Create; virtual;
destructor Destroy; override;
procedure Beginwrite;
procedure Endwrite;
procedure Beginread;
procedure Endread;
end;