Здравствуйте! У меня вопрос по "критическим секциям". Есть некая функция, с которой работают несколько потоков:
var //глобальная переменная
CrSsn1: TRTLCriticalSection;
....
function TMainForm.ExclusiveObjects(Act: integer; HW: THandle; const SExOb: string): string;
begin
EnterCriticalSection(CrSsn1);
try
// что-то делается
finally
LeaveCriticalSection(CrSsn1);
end;
end;
Предположим, поток1 вошёл в крит. секцию. При попытке потока2 войти в эту же секцию он остановится на строке EnterCriticalSection(CrSsn1), как я понимаю. Вопрос - что произойдёт со значениями переменных, которые аргументы функции? Изменит ли их поток2 при входе в функцию, или они останутся неизменны до выхода потока1 из секции? Или я вообще всё не так представляю?