Es ist dir ja nicht verboten eine CriticalSection, oder sonstwas hinzuzufügen.
Delphi-Quellcode:
System.TMonitor.Enter(Buffer);
Buffer.Add(irgendwas);
System.TMonitor.Exit(Buffer);
Delphi-Quellcode:
Buffer.Enter;
Buffer.Add(irgendwas);
Buffer.Exit;
type
TRingbuffer<T> = class(Ringbuffer.TRingbuffer<T>)
procedure Enter;
procedure Exit;
end;
procedure TRingbuffer<T>.Enter;
begin
System.TMonitor.Enter(Self);
end;
Und vielleicht kommt ja Emba irgendwann in diesem Jahrhundert mal auf die Idee den Schwachsinn bei TMonitor zu reparieren.
> doppelter/missverständlicher Name und umständliche Nutzung (Wenn das eh in TObjekt integriert ist, dann doch bitte richtig)