Зараз я відвідую паралельний курс програмування в моєму університеті, і ми нещодавно заговорили про концепцію монітора. Хоча я розумію необхідність взаємного виключення, я не розумію, для чого я б використовував монітор для цього.
Наскільки я розумію, монітор гарантує, що точно один чи будь-який процес постійно знаходиться в критичному розділі. Ми можемо досягти саме цього семафором. Крім того, ми реалізуємо монітори (або, принаймні, одна можливість їх реалізації) за допомогою семафорів.
То чому б я реалізував щось таке, що робить те саме, що і семафор із семафором? Які переваги я отримую?