Sobes.tech
Назад к вопросам
Junior — Middle
64

Можете объяснить, для чего используется класс NSLock в разработке на Objective-C?

Компании, где спрашивали
GreenData

Ответ от нейросети

sobes.tech AI

Класс NSLock в Objective-C используется для реализации взаимного исключения (mutex), то есть для синхронизации доступа к общим ресурсам между потоками. Это предотвращает состояние гонки, когда несколько потоков одновременно пытаются изменить одни и те же данные.

Пример использования NSLock:

NSLock *lock = [[NSLock alloc] init];

// В одном из потоков
[lock lock];
// Критическая секция: безопасный доступ к общему ресурсу
// ...
[lock unlock];

NSLock блокирует поток при вызове lock, если другой поток уже удерживает блокировку, и разблокирует при вызове unlock. Это простой и эффективный способ обеспечить потокобезопасность в многопоточных приложениях на iOS/macOS.