Sobes.tech
Junior — Middle

Mutex, iplarni sinxronlashtirish vositasi emasmi?

sobes.tech AI

AIdan javob

Ha, mutex (o'zaro chiqarish) iplar sinxronizatsiya qilish uchun vositadir. Go'da, bu sync.Mutex tuzilmasi bo'lib, umumiy resurslarga bir vaqtning o'zida kirishni cheklash va raqobat shartlarini oldini olish imkonini beradi. Bir ip (goroutine) mutexni egallaganida, uni egallashga harakat qilayotgan boshqalar, uni bo'shatguncha bloklanadi.

Go'da mutexdan foydalanish misoli:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // mutexni egallash
    defer mu.Unlock()   // mutexni bo'shatish
    counter++
}