J'assiste actuellement au cours de programmation simultanée dans mon université et nous avons récemment commencé à parler du concept d'un moniteur. Bien que je comprenne la nécessité de l'exclusion mutuelle, je ne comprends pas pourquoi j'utiliserais un moniteur pour cela.
Si je comprends bien, un moniteur garantit que exactement un ou aucun processus est dans la section critique à tout moment. Nous pouvons réaliser exactement cela avec un sémaphore. De plus, nous implémentons des moniteurs (ou au moins une possibilité de les implémenter) avec des sémaphores.
Alors pourquoi devrais-je implémenter quelque chose qui fait exactement la même chose qu'un sémaphore avec un sémaphore? Quels avantages puis-je obtenir?