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