Junior — Middle
Objective-C-də NSLock sinifinin nə üçün istifadə olunduğunu izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Objective-C-də NSLock sinfi, qarşılıqlı istisna (mutex) tətbiq etmək üçün istifadə olunur, yəni çoxlu iş parçaları arasında ümumi resurslara girişin sinxronlaşdırılması üçün. Bu, eyni zamanda bir neçə iş parçacıqları eyni məlumatları dəyişdirməyə çalışdıqda yarış vəziyyətlərinin qarşısını alır.
NSLock istifadə nümunəsi:
NSLock *lock = [[NSLock alloc] init];
// Bir iş parçacığında
[lock lock];
// Kritik bölmə: ümumi resursa təhlükəsiz giriş
// ...
[lock unlock];
NSLock lock çağırıldıqda, əgər başqa bir iş parçacığı artıq kilidi tutursa, iş parçacığını bloklayır və unlock çağırıldıqda kilidi azad edir. Bu, iOS/macOS-də çox iş parçacığı tətbiqlərində iş parçacığı təhlükəsizliyini təmin etmək üçün sadə və effektiv bir yoldur.