
Primitives de synchronisation
sync.Mutex, RWMutex, Once, Pool, Map, Cond, atomic operations
1Qu'est-ce qu'un sync.Mutex en Go ?
Qu'est-ce qu'un sync.Mutex en Go ?
Réponse
Un sync.Mutex (mutual exclusion lock) est une primitive de synchronisation qui garantit qu'un seul goroutine peut accéder à une section critique à la fois. Appeler Lock bloque jusqu'à ce que le mutex soit disponible, et Unlock le libère pour les autres goroutines. Utiliser pour protéger les accès concurrents aux données partagées.
2Que se passe-t-il si on oublie d'appeler Unlock après Lock sur un sync.Mutex ?
Que se passe-t-il si on oublie d'appeler Unlock après Lock sur un sync.Mutex ?
Réponse
Oublier Unlock crée un deadlock potentiel car les autres goroutines attendront indéfiniment pour acquérir le mutex. La bonne pratique consiste à utiliser defer pour garantir que Unlock sera appelé même en cas de panic. Toujours associer Lock et Unlock dans le même scope pour éviter les fuites de verrouillage.
3Quelle est la différence principale entre sync.Mutex et sync.RWMutex ?
Quelle est la différence principale entre sync.Mutex et sync.RWMutex ?
Réponse
Le sync.RWMutex permet plusieurs lectures concurrentes via RLock mais une seule écriture exclusive via Lock. Cela améliore les performances pour les cas en lecture intensive car les lecteurs ne se bloquent pas mutuellement. Utiliser RWMutex quand les lectures sont fréquentes et les écritures rares.
Pourquoi utiliser defer avec Unlock sur un sync.Mutex ?
Quand préférer sync.RWMutex à sync.Mutex ?
+19 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Client HTTP
Encodage JSON
database/sql
Package context
Testing
Patterns de concurrence
Frameworks web Go
Design d'API REST
gRPC
Reflection
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
Maîtrise Go pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement