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