Junior — Middle
Quelle est la fonction du type de synchronisation RWMutex dans le langage de programmation?
sobes.tech IA
Réponse de l'IA
Dans le langage Go, le type RWMutex (Mutex de lecture-écriture) est utilisé pour synchroniser l'accès aux ressources partagées, permettant à plusieurs goroutines de lire simultanément les données, tout en bloquant l'écriture pendant la lecture, et vice versa.
L'objectif principal de RWMutex est d'améliorer les performances dans les scénarios où les opérations de lecture sont beaucoup plus fréquentes que celles d'écriture. Il fournit deux types de verrouillages :
RLock()— verrouillage pour la lecture, permettant à plusieurs lecteurs d'accéder simultanément.Lock()— verrouillage pour l'écriture, accès exclusif.
Exemple d'utilisation :
var mu sync.RWMutex
var data int
func readData() int {
mu.RLock()
defer mu.RUnlock()
return data
}
func writeData(val int) {
mu.Lock()
defer mu.Unlock()
data = val
}
Ainsi, RWMutex aide à gérer efficacement l'accès concurrent, en minimisant les blocages lors de lectures fréquentes.