USO DE UN NUEVO METODO PARA LA ENSEÑANZA DE LA PROGRAMACION CONCURRENTE
REQUISITOS PARA LOGRAR LA
EXCLUSIÓN MUTUA (EM)
El sistema que va a proporcionar soporte
debe cumplir con estos requisitos
Un proceso permanece dentro de su sección crítica
sólo durante un tiempo finito
No se suponen velocidades de proceso relativas
Ningún proceso está en una sección
crítica
Un proceso que se detiene en su sección no crítica
La EM debe reforzarse
RESULTADOS Y DISCUSIÓN
Se realizó una evaluación consistente en
un examen conceptual
make info
easier to remember
interesting
save time
Y un examen de programación
concurrente
Los estudiantes
manifestaron haber tenido facilidad
para entender los conceptos y para realiar las practicas
Tanto en la parte
teórica como en la de programación
Resulta evidente que el grupo que utilizó el
método nuevo obtuvo mejores notas
Los resultados se compararon con los
obtenidos por otro grupo
Examen Programación
Examen Conceptual
DIFICULTADES TIPICAS DE LA PROGRAMACION CONCURRENTE
Exclusión mutua (EM)
Inanición
Suponer que de tres procesos, P1, P2 y
P3 cada uno requiere acceso periódico a los recursos R
Interbloqueo
Considerar dos procesos, P1 y P2
y dos recursos críticos R1 y R2
Problemas que llegan durante la progrmación son
Interbloqueos
Necesidad de exclusión mutua
Sincronización Condicional o Inanición
APLICACIONES DE CONCURRENCIA
Abre las posibilidades de diseño
Usando los hilos, se pueden activar nuevas actividades
independientes que corren concurrentemente
Los hilos liberan al programador de las limitaciones de
código
Concurrencia requerida
Paralelismo
Mensajes asíncronos
Objetos Activos
Control
Disponibilidad
Programación reactiva
Las razones para explotar el
manejo de hilos incluyen
Son imprácticas en la programación secuencial
JUSTIFICACIÓN DEL USO DEL LENGUAJE JAVA
Java es un lenguaje de propósito general
orientado a objetos
considerado mucho más seguro que
otros lenguajes
Java es un lenguaje relativamente simple
Diseñado para soportar la programación de Internet