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.