Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

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

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

// В една от нишките
[lock lock];
// Критична секция: безопасен достъп до споделения ресурс
// ...
[lock unlock];

NSLock блокира нишката при извикване на lock, ако друга нишка вече държи блокировката, и я отключва при извикване на unlock. Това е прост и ефективен начин за осигуряване на нишкова безопасност в многонитови приложения на iOS/macOS.