Sobes.tech
Junior — Middle

Mutex, ipların sinxronizasiyası vasitəsidirmi?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, mutex (qarşılıqlı istisna) ipların sinxronizasiyası üçün vasitədir. Go-da bu, sync.Mutex strukturudur və ümumi resurslara eyni vaxtda girişin məhdudlaşdırılmasına və yarış şəraitlərinin qarşısını almağa imkan verir. Bir ip (goroutine) mutex-i ələ keçirdikdə, onu ələ keçirməyə çalışan digər ip-lər mutex sərbəst buraxılana qədər bloklanır.

Go-da mutex istifadə nümunəsi:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // mutex-i ələ keçirmək
    defer mu.Unlock()   // mutex-i sərbəst buraxmaq
    counter++
}