Sobes.tech
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++
}