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