Sobes.tech
Senior

Пессимисттик бөгөлүү деген эмне?

sobes.tech AI

AIден жооп

Пессимисттик жабдуулук — бул маалыматтарга атаандаштык менен кирүүнү башкаруунун ыкмасы, анда ресурсту операциянын башында эле жабуу, конфликттерди алдын алуу үчүн. Демек, транзакция маалыматтарды өзгөртүүнү кааласа, ал жабууну алат, жана башка транзакциялар жабуу ачылгандан кийин күтүшөт.

Go тилинде, бул, бөлүштүрүлгөн маалыматтарга кирүүнү блоктоо үчүн mutexтер (sync.Mutex) аркылуу ишке ашырылышы мүмкүн:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // пессимисттик жабуу
    defer mu.Unlock()
    // сыналган бөлүм
}

Бул ыкма, бир гана горутинанын маалыматтарды өзгөртүшүнө кепилдик берет, бирок параллелизмдин азайышына жана жабууларга алып келиши мүмкүн.