Junior — Middle
Objective-C dasturlashda NSLock sinfidan nima uchun foydalanilishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Objective-C'da NSLock sinfi, mutex (mutual exclusion) nişonunu amalga oshirish uchun ishlatiladi, ya'ni oqimlar o'rtasida umumiy resurslarga kirishni sinxronlashtirish uchun. Bu, bir nechta oqimlar bir vaqtning o'zida ayni ma'lumotlarni o'zgartirishga harakat qilganda, poyga sharoitlarini oldini oladi.
NSLock dan foydalanish misoli:
NSLock *lock = [[NSLock alloc] init];
// Bir oqimda
[lock lock];
// Kritik bo'lim: umumiy resursga xavfsiz kirish
// ...
[lock unlock];
NSLock lock chaqirilganda, agar boshqa oqim allaqachon blokirovkani ushlab turgan bo'lsa, oqimni bloklaydi va unlock chaqirilganda blokkani ochadi. Bu, iOS/macOS'dagi ko'p oqimli ilovalarda oqim xavfsizligini ta'minlash uchun oddiy va samarali usuldir.