Junior — Middle
Resurslar raqobatini boshqarish uchun loyihalaringizda semafor mexanizmini qo‘lladingizmi?
sobes.tech AI
AIdan javob
Ha, semafor mexanizmi ko'p ipli dasturlarda cheklangan resurslarga kirishni boshqarish uchun ko'pincha qo'llaniladi. Masalan, iOSda DispatchSemaphore yordamida bir vaqtning o'zida bajariladigan vazifalar sonini cheklash mumkin.
DispatchSemaphoredan foydalanish misoli:
let semaphore = DispatchSemaphore(value: 2) // bir vaqtning o'zida 2 ta vazifa
DispatchQueue.global().async {
semaphore.wait() // hisoblagichni kamaytiradi, 0 bo'lsa kutadi
// kritik bo'lim
print("Vazifa boshlandi")
sleep(2) // ishni simulyatsiya qilish
print("Vazifa tugadi")
semaphore.signal() // hisoblagichni oshiradi
}
Ushbu yondashuv raqobat shartlarini oldini olishga va cheklangan resurslar bilan ishlashda raqobatni nazorat qilishga yordam beradi, masalan, ma'lumotlar bazasiga kirish yoki tarmoq so'rovlarini bajarishda.