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