Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programación concurrente - Coggle Diagram
Programación concurrente
Conceptos fundamentales
Expresa concurrencia entre tareas, soluciones y sincronizaciones de procesos.
Ejecución simultánea de múltiples tareas
Soportado por lenguajes como JAVA
Aparición del concepto de hilo o thread
Arquitectura
Multiprocesador: Existe más de un procesador
Monoprocesador: Todo procesador comparte
la misma memora
Desventajas
Consumo de recursos al haber exceso de hilos/procesos
Dificultad de desarrollo
Dificultad de verificación
Pocas instrucciones= más lento
Ventajas
Velocidad de ejecución
Solución de problemas concurrentes
Proporciona el modelo más simple y natural
Facilita diseños orientados a objetos de aplicaciónes
Compartir recursos y subsistemas complejos
Sistema monoprocesador optimiza el uso de recursos
Facilita la programación de tiempo
Problemas entre programación
secuencial y concurrente.
Al ejecutarse varios procesos de forma frecuente pueden colaborar para un fin en especifico, mientras que puede haber otros que compitan por los recursos
Más de 2 procesos quieren llevar a cabo una tarea determinada concurrentemente
Se pueden obtener resultados erróneos
Problema de la sección crítica
Se debe proteger de interferencias de otros procesos