Junior — Middle
Expliquez le principe de fonctionnement du moniteur en tant que mécanisme pour assurer la synchronisation des threads.
sobes.tech IA
Réponse de l'IA
Un moniteur en Java est un mécanisme de synchronisation qui assure l'exclusion mutuelle lors de l'accès aux ressources partagées entre threads. Chaque objet en Java possède un moniteur associé.
Principe de fonctionnement :
- Lorsqu'un thread entre dans un bloc ou une méthode synchronisée, il acquiert le moniteur de l'objet.
- Tant que le moniteur est acquis, d'autres threads tentant d'entrer dans le même bloc synchronisé sont bloqués et attendent la libération du moniteur.
- Après sortie du bloc, le moniteur est libéré, et un thread en attente peut y accéder.
Cela garantit qu'une seule thread exécute une section critique du code à la fois, évitant les conditions de course et assurant la cohérence des données.
Exemple :
synchronized(this) {
// section critique
sharedResource++;
}