Junior — Middle
Είναι το mutex ένα εργαλείο συγχρονισμού νημάτων;
sobes.tech AI
Απάντηση από AI
Ναι, το mutex (αμοιβαία αποκλεισμός) είναι ένα εργαλείο συγχρονισμού νημάτων. Στο Go, είναι μια δομή sync.Mutex που επιτρέπει τον περιορισμό της ταυτόχρονης πρόσβασης σε κοινόχρηστους πόρους, αποτρέποντας καταστάσεις αγώνα. Όταν ένα νήμα (goroutine) αποκτά το mutex, άλλα που προσπαθούν να το αποκτήσουν μπλοκάρονται μέχρι να απελευθερωθεί.
Παράδειγμα χρήσης mutex στο Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // κλειδώστε το mutex
defer mu.Unlock() // απελευθερώστε το mutex
counter++
}