Sobes.tech
Senior

İyimser olmayan kilitleme nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kötü niyetli kilitlenme, verilerin eşzamanlı erişimini yönetmek için kullanılan bir yaklaşımdır; bu yöntemde, kaynak, çatışmaları önlemek amacıyla işlemin hemen başında kilitlenir. Yani, bir işlem verileri değiştirmek istediğinde, bir kilit alır ve diğer işlemler kilit serbest bırakılana kadar bekler.

Go'da, bu, paylaşılan verilere erişimi engelleyen mutexler (sync.Mutex) kullanılarak gerçekleştirilebilir:

var mu sync.Mutex

func updateData() {
    mu.Lock()   // kötümser kilitleme
    defer mu.Unlock()
    // kritik bölüm
}

Bu yaklaşım, aynı anda yalnızca bir goroutine'in verileri değiştirmesini garanti eder, ancak paralelliği azaltabilir ve kilitlenmelere yol açabilir.