Допустим есть некий пользовательский класс, существующий в приложении в единственном экземпляре.
Вопрос: достаточно ли для того чтобы сделать его потокобезопасным
добавить поле - критическую секцию, инициализировать ее в конструкторе, удалять в деструкторе а внутри методов класса входить в эту крит. секцию?
например вот так:
TMyClass = class
private
FCritSec : TRTLCriticalSection;
procedure TMyClass.SomeMethod();
begin
EnterCriticalSection(FCritSec);
try
//тут некоторые действия
finally
leaveCriticalSection(FCritSec);
end;
end;
Последний раз редактировалось GhostOnline; 13.02.2010 в 16:28..