Ejercicio de Programación: Conceptos y Aplicaciones de Monitores en Java, Study notes of Java Programming

programacion concurrente informacion en java programacion

Typology: Study notes

2019/2020

Uploaded on 09/13/2020

ivan-harleking-delareigres-mccartne
ivan-harleking-delareigres-mccartne 🇲🇨

5

(1)

6 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
NOMBRE: Reyes Hernández Michelle Vianey
GRUPO: 110-902
FECHA: 10-06-2020
INSTRUCCIÓN: Contesta lo que a continuación se te pide.
1. DEFINE EL CONCEPTO MONITOR
R= Los monitores son objetos destinados a ser usados sin peligro por más
de un hilo de ejecución.
2. ESCRIBE TRES VENTAJAS Y TRES DESVENTAJAS DE LOS MONITORES
VENTAJAS
DESVENTAJAS
El control de los recursos esta
centralizado en el monitor, lo que hace
que sea más fácil su mantenimiento.
Los monitores tienen exclusividad de
uso, es decir, la concurrencia está
limitada si muchos procesos hacen uso
del mismo monitor.
Provee una mayor protección a las
variables de control.
El uso de monitores es bastante
costoso, porque se pierde eficiencia
por tanto bloqueo de los procesos.
A diferencia de los semáforos que se
código queda distribuido en varias
partes del programa.
Si el proceso que ejecuta cond_signal no
terminó con su ejecución se necesitarán
dos cambios de contexto para que vuelva
a tomar el lock del monitor.
pf3
pf4

Partial preview of the text

Download Ejercicio de Programación: Conceptos y Aplicaciones de Monitores en Java and more Study notes Java Programming in PDF only on Docsity!

NOMBRE: Reyes Hernández Michelle Vianey GRUPO: 110 - 902 FECHA: 10 - 06 - 2020 INSTRUCCIÓN: Contesta lo que a continuación se te pide.

  1. DEFINE EL CONCEPTO MONITOR

R= Los monitores son objetos destinados a ser usados sin peligro por más

de un hilo de ejecución.

2. ESCRIBE TRES VENTAJAS Y TRES DESVENTAJAS DE LOS MONITORES

VENTAJAS DESVENTAJAS

El control de los recursos esta

centralizado en el monitor, lo que hace

que sea más fácil su mantenimiento.

Los monitores tienen exclusividad de

uso, es decir, la concurrencia está

limitada si muchos procesos hacen uso

del mismo monitor.

Provee una mayor protección a las

variables de control.

El uso de monitores es bastante

costoso, porque se pierde eficiencia

por tanto bloqueo de los procesos.

A diferencia de los semáforos que se

código queda distribuido en varias

partes del programa.

Si el proceso que ejecuta cond_signal no terminó con su ejecución se necesitarán dos cambios de contexto para que vuelva a tomar el lock del monitor.

3. COMPLETA LA SIGUIENTA TABLA, CON LAS CARACTERÍSTICAS DE LOS MONITORES EN JAVA

CARACTERÍSTICA DESCRIPCIÓN

EXCLUSIÓN MUTUA

se usan en programación concurrente para evitar que

entre más de un proceso a la vez en la sección crítica.

La sección crítica es el fragmento de código donde

puede modificarse un recurso compartido.

SINCRONIZACIÓN POR

CONDICIÓN

A veces una hebra tiene que esperar hasta que se cumpla una determinada condición suspende su ejecución hasta que esto ocurra • Otra hebra hace que se cumpla la condición avisa al que estaba esperando ‣ éste puede reanudar su ejecución • Este tipo de sincronización se llama sincronización condicional ‣ sincronización: el avance de una hebra depende de lo que haga otra hebra Programación concurrente WAIT()

hará que el hilo que invoca se bloquee hasta que ocurra

un timeout u otro hilo llame el método notify() o notifyAll()

sobre el mismo objeto (lo primero que ocurra).

SIGNAL()

Si hay algún proceso en la lista de procesos del

semáforo, activa uno de ellos para que ejecute la

sentencia que sigue al wait que lo suspendió. Si no hay

procesos en espera en la lista incrementa en 1 el valor

del semáforo.

TIPOS DE MONITORES

Tipo Hoare

Tipo Mesa

ESTRUCTURA/SINTAXIS

Las variables de condición de los monitores no tienen valor, se le puede considerar como el nombre de la lista de hilos bloqueados (nombre de un evento).

  1. REALIZA UNA COMPARACIÓN ENTRE MONITOR Y SEMAFORO. (Mínimo 5) MONITOR SEMÁFORO El monitor es un tipo de datos abstracto. El semáforo no tiene variables de condición El monitor tiene variables de condición. Los semáforos son una variable entera El tipo Monitor contiene variables compartidas y el conjunto de procedimientos que operan en la variable compartida. Cuando se completa un hilo, libera el semáforo e incrementa el contador. Las funciones o métodos miembros de un objeto supervisor impondrán la exclusión mutua, por lo que solo un hilo puede realizar cualquier acción sobre el objeto en un momento determinado. El valor de Semaphore S indica la cantidad de recursos compartidos disponibles en el sistema Cuando cualquier proceso quiere acceder a las variables compartidas en el monitor, necesita acceder a él a través de los procedimientos. Cuando cualquier proceso accede a los recursos compartidos, realiza la operación wait () en S y cuando libera los recursos compartidos, realiza la operación signal () en S.