Sobes.tech
Senior

Pessimist bloklama nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Pessimist kilidləmə, məlumatlara çoxsaylı girişin idarə olunması üçün yanaşmadır və bu zaman resurs əməliyyatın başlanğıcında dərhal kilidlənir ki, münaqişələr qarşısını alınsın. Yəni, bir tranzaksiya məlumatları dəyişmək istəyirsə, o, kilidi alır və digər tranzaksiyalar kilid açılana qədər gözləyir.

Go dilində, bu, paylaşılan məlumatlara girişin bloklanması üçün mutexlər (sync.Mutex) vasitəsilə həyata keçirilə bilər:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // pessimist kilidləmə
    defer mu.Unlock()
    // kritik bölmə
}

Bu yanaşma, yalnız bir gorutinin məlumatları dəyişməsini təmin edir, lakin paralelliyi azalda və kilidlənmələrə səbəb ola bilər.