Un monitor es un mecanismo de software para control de concurrencia que contiene los datos y los procedimientos necesarios para realizar la asignación de un determinado recurso o grupo de recursos compartidos reutilizables en serie.
Un monitor se usa para manejar todas las funciones de concurrencia, comunicación entre procesos y localización física de recursos en una región crítica.
El monitor consta de varios procedimientos que manipulan datos internos y existe una parte de inicialización.
El código del monitor consta de 2 partes lógicas: