В однопоточном приложении я использую такой код:
Interface
function GetNextUID : integer;
Implementation
function GetNextUID : integer;
const
cUID : integer = 0;
begin
inc( cUID );
result := cUID;
end;
Это, конечно, может быть реализовано как одноэлементный объект и т.д. - я просто даю простейший возможный пример.
Q: Как я могу изменить эту функцию (или создать класс), чтобы безопасно достичь того же результата из параллельных потоков?