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++
}