uses SyncObjs; // Объявляем раздел (для всех потоков, которые будут использовать этот раздел): MyCriticalSection: TRTLCriticalSection; // Создаём секцию: InitializeCriticalSection(MyCriticalSection); // Запустим несколько потоков. Делаем что-нибудь исключительное(?): EnterCriticalSection(MyCriticalSection); try // доступ к переменным, запись файлов, отправка сетвых пакетов, и т.д. finally LeaveCriticalSection(MyCriticalSection); end; // После завершения всех потоков, освобождаем её: DeleteCriticalSection(MyCriticalSection); // В качестве альтернативы, вы можете использовать объект TCriticalSection
Free Pascal Справочник v0.05 © 2007-2024 Igor Salnikov aka SunDoctor