Junior — Middle
Mutex, თარგმნის სინქრონიზაციის ინსტრუმენტია?
sobes.tech AI
პასუხი AI-სგან
დიახ, mutex (ურთიერთგამორიცხვა) არის სიგნალიზაციის ინსტრუმენტი ნაკადების სინქრონიზაციისთვის. Go-ში ეს არის sync.Mutex სტრუქტურა, რომელიც საშუალებას აძლევს შეზღუდოს ერთდროულად წვდომა საერთო რესურსებზე და თავიდან აიცილოს რბოლა. როდესაც ერთი ნაკადი (goroutine) იღებს mutex-ს, სხვა, რომელიც ცდილობს მის მიღებას, ბლოკდება მანამ, სანამ mutex არ განთავისუფლდება.
mutex-ის გამოყენების მაგალითი Go-ში:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // mutex-ის დაჭერა
defer mu.Unlock() // mutex-ის განთავისუფლება
counter++
}