Junior — Middle
Est-ce que mutex est un outil de synchronisation de threads?
sobes.tech IA
Réponse de l'IA
Oui, un mutex (mutual exclusion) est un outil de synchronisation des threads. En Go, c'est une structure sync.Mutex qui permet de limiter l'accès simultané aux ressources partagées, évitant ainsi les conditions de course. Lorsqu'un thread (goroutine) acquiert le mutex, les autres tentant de l'acquérir sont bloqués jusqu'à sa libération.
Exemple d'utilisation du mutex en Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // acquérir le mutex
defer mu.Unlock() // libérer le mutex
counter++
}