1.3 - Monitor
Isso foi proposto em função dos inúmeros detalhes necessários para se implementar (principalmente aqueles ligados à ordem de escrita das instruções) o semáforo ou o mutex de forma direta nas rotinas que acessam o recurso compartilhado. Essa implementação não é trivial, como será percebido nos códigos de exemplo.
Com o uso de monitores, as rotinas não precisam mais conhecer os detalhes envolvidos no uso de semáforo ou mutex. Contudo, na construção do monitor em si, esses detalhes devem ser considerados, sempre!
No caso dessa disciplina, o monitor será construído usando-se um semáforo para um exemplo específico (buffer com cinco posições compartilhadas da memória) e um mutex para um outro exemplo (buffer com uma única posição compartilhada de memória). Os códigos serão apresentados na próxima etapa do nosso estudo.