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