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