interface
type
TCounter = class
public
constructor Create;
function GetCounter : Integer;
end;
var
Counter : Integer;
CriticalSection : TRtlCriticalSection;
implementation
constructor TCounter.Create;
begin
inherited;
EnterCriticalSection(CriticalSection);
try
Counter := Counter + 1;
finally
LeaveCriticalSection(CriticalSection);
end;
end;
function TCounter.GetCounter : Integer;
begin
// nem kell kritikus tartomány, mert az Integer
// elemi változó
Result := Counter;
end;
initialization
InitializeCriticalSection(CriticalSection);
finalization
DeleteCriticalSection(CriticalSection);
end.
Oldalak
2013. február 4., hétfő
Thread-safe TCounter osztály
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése