Junior — Middle
Мутекс (Mutex) деген эмне жана ал кандай иштейт?
sobes.tech AI
AIден жооп
Mutual exclusion (Mutex) — бул синхрондоштуруу механизми, ал бир убакта гана бир гурут (жип) белгилүү бир ресурска же коддун критикалык бөлүгүнө кирүүгө мүмкүнчүлүк берет деген кепилдик берет.
Go тилинде бул үчүн sync.Mutex тиби колдонулат. Гурут Lock() чакырганда, ал мютексин блоктойт, жана башка гуруттар Lock() чакырганга аракет кылганда, алар мютекс Unlock() менен ачылгандан кийин күтүшөт.
Мисал:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock()
defer mu.Unlock()
counter++
}
Бул мисалда, increment коопсуз түрдө counter маанисин көбөйтөт, бир убакта бир нече гуруттун киришин алдын алат.