Sobes.tech
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.