Son objetos destinados a ser usados sin peligro por más de un hilo de ejecución. La característica principalmente los define en que sus métodos son ejecutados con exclusión mutua lo que significa, que encada momento en el tiempo, un hilo como máximo puede estar ejecutado cualquiera de sus métodos. Esta exclusión mutua simplifica el racionamiento de implementar monitores en lugar de código a ser ejecutado en paralelo.
El estado y el estudió de los semáforos se puede ver en las llamadas a las funciones necesarias para utilizarlos que dan ser repetidas en el código del programa, haciendo fácil corregir errores y asegurar el buen funcionamiento de los algoritmos. Para evitar estos inconvenientes desarrollando los monitores.
Monitores con señales
Solamente una llamada a un módulo monitor puede ser activada por vez. Esto protege a los datos dentro del monitor de accesos simultáneos de múltiples usuarios. Los usuarios que intentan acceder al monitor mientras este está ocupado son bloqueados en una cola de entrada al monitor.
CWAIT(c): Suspende la ejecución del proceso llamado bajo la condición c. El monitor está ahora disponible para ser usado por otro proceso.
CSIGNAL(c): Reanuda la ejecución de algún proceso suspendido después de un CWAIT() bajo la misma condición. Si hay varios procesos, elige uno de ellos; si no hay ninguno, no hace nada.
No hay comentarios:
Publicar un comentario