Junior — Middle
Puteți explica pentru ce este folosită clasa NSLock în dezvoltarea în Objective-C?
sobes.tech AI
Răspuns de la AI
Clasa NSLock în Objective-C este utilizată pentru implementarea excluderii mutuale (mutex), adică pentru sincronizarea accesului la resursele comune între fire de execuție. Acest lucru previne condițiile de cursă, atunci când mai multe fire încearcă să modifice în același timp aceleași date.
Exemplu de utilizare a NSLock:
NSLock *lock = [[NSLock alloc] init];
// În unul dintre fire
[lock lock];
// Secțiune critică: acces sigur la resursa comună
// ...
[lock unlock];
NSLock blochează firul de execuție la apelul lock dacă alt fir de execuție deține deja blocarea, și o deblochează la apelul unlock. Este o metodă simplă și eficientă de a asigura siguranța firelor de execuție în aplicațiile multi-threading pe iOS/macOS.