Junior — Middle
Explique ce qu'est un verrou (Lock) dans le contexte d'un mutex et à quoi il sert.
sobes.tech IA
Réponse de l'IA
Le verrou (Lock) est un mécanisme de synchronisation utilisé pour empêcher l'accès simultané de plusieurs threads ou goroutines à une ressource partagée, afin d'éviter les conditions de course et d'assurer l'exactitude des données.
Dans le contexte d'un mutex, le verrou signifie que lorsqu'un thread acquiert (lock) un mutex, les autres threads tentant de l'acquérir attendront que le premier le libère (unlock).
Exemple en Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // acquérir le verrou
counter++ // section critique
mu.Unlock() // libérer le verrou
}
Ainsi, le verrou garantit qu'un seul thread exécute la section critique du code à un moment donné.