Sobes.tech
Senior

Nima pessimist bloklash?

sobes.tech AI

AIdan javob

Pesimist bloklash — bu raqobatli ma'lumotlarga kirishni boshqarish yondashuvi bo'lib, unda resurs operatsiya boshlanishida darhol bloklanadi, bu esa nizolarni oldini oladi. Ya'ni, tranzaksiya ma'lumotlarni o'zgartirmoqchi bo'lsa, u blokni oladi va boshqa tranzaksiyalar blok ochilguncha kutadi.

Go tilida, bu, umumiy ma'lumotlarga kirishni bloklaydigan mutexlar (sync.Mutex) yordamida amalga oshirilishi mumkin:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pesimist bloklash
    defer mu.Unlock()
    // kritik bo'lim
}

Bu yondashuv, faqat bitta gorutina ma'lumotlarni o'zgartirishini ta'minlaydi, ammo paralellikni kamaytirishi va blokirovkalarni keltirib chiqarishi mumkin.