0% encontró este documento útil (0 votos)
20 vistas3 páginas

Actividad 1 Programacion 3

ACTIVIDAD CNCI SEMANA 1 PROGRAMACION 3

Cargado por

Ryu Hayabusa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas3 páginas

Actividad 1 Programacion 3

ACTIVIDAD CNCI SEMANA 1 PROGRAMACION 3

Cargado por

Ryu Hayabusa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

Introducción

La Programación Concurrente en Java es una técnica que permite que múltiples


tareas se ejecuten simultáneamente, mejorando la eficiencia y la capacidad de
respuesta de las aplicaciones. Imagina que estás cocinando varios platos a la
vez; mientras uno se cocina en el horno, puedes preparar otro en la estufa. De
manera similar, en Java, los hilos permiten que diferentes partes de un
programa se ejecuten al mismo tiempo, aprovechando al máximo los recursos
disponibles y haciendo que las aplicaciones sean más rápidas y fluidas,
especialmente en entornos donde el tiempo y la eficiencia son críticos.
Resumen
1) Ciclos de Vida de los Hilos en Java:

En Java, un hilo (thread) pasa por varios estados a lo largo de su ciclo de vida:
 Nuevo (New): El hilo se crea pero aún no ha comenzado a ejecutarse.
 Ejecutable (Runnable): Después de invocar el método start(), el hilo
entra en este estado, donde está listo para ejecutarse y puede ser
seleccionado por el planificador de hilos.
 En Ejecución (Running): El hilo es seleccionado por el planificador y está
ejecutando su tarea.
 Bloqueado/Esperando (Blocked/Waiting): El hilo está en espera de un
recurso o evento, como la liberación de un bloqueo o la terminación de
otro hilo.
 Terminando (Terminated): El hilo ha completado su ejecución o ha sido
interrumpido.
2) Cooperación entre Hilos:

La cooperación entre hilos es crucial para evitar conflictos y garantizar que los
hilos trabajen juntos de manera eficiente. Existen dos formas principales de
cooperación:
 Sincronización: Se usa para controlar el acceso a los recursos
compartidos. Por ejemplo, mediante el uso de bloques sincronizados
(synchronized) o clases de sincronización como Lock, los hilos pueden
coordinarse para evitar condiciones de carrera.
 Comunicación: Los hilos pueden comunicarse entre sí para coordinarse.
En Java, esto se logra utilizando métodos como wait(), notify(), y
notifyAll(), que permiten a un hilo esperar hasta que otro hilo complete
una tarea.

3) Modelo de Ejecución:
El modelo de ejecución en Java define cómo se crean, gestionan y finalizan los
hilos. Los hilos son administrados por el planificador de hilos de la JVM, que
decide cuál hilo debe ejecutarse en un momento dado. Java utiliza un modelo
de preemptive multitasking, donde el planificador puede interrumpir un hilo en
ejecución para dar paso a otro.

El modelo de ejecución incluye:


 Hilos de Usuario: Los hilos normales que realizan tareas específicas del
programa.
 Hilos Daemon: Hilos que corren en segundo plano y que no impiden que
la JVM se detenga si no hay otros hilos en ejecución.
Este modelo permite que los programas en Java manejen múltiples tareas en
paralelo, pero también requiere una cuidadosa gestión para evitar problemas
como el bloqueo mutuo (deadlock) o las condiciones de carrera, especialmente
cuando los hilos cooperan entre sí.
Mapa mental
Conclusión

Para finalizar esta actividad sobre la programación concurrente en java


podemos decir que, es una manera eficiente de manejar muliples tareas al
mismo tiempo.
Además nos ayuda en aplicaciones que requieren un alto nivel de rendimiento.
También aprendemos nuevas habilidades y destrezas como el manejo de la
sincronización entre hilos y la resolución de problemas de concurrencia.
Todo eso nos ayudara como estudiantes y futuros profesionales a tener un
mejor desempeño laboral.

También podría gustarte