Want to create interactive content? It’s easy in Genially!
CONCEPTOS HILOS
Bello Rodríguez Edwin Armando
Created on April 9, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
topicos avanzados de programación
Programación concurrente (Multihilos)
HILOS
CONCEPTO GENERAL
PRINCIPALES FUNCIONES Y DEFINICIONES
APLICACIONES
Partes de un hilo
¿Qué es Multihilo?
Un thread consta de:
eJEMPLO
Compatibilidad
HILOS
mULTIHILO
desventajas
Ventajas
Lorem
Lorem ipsum dolor sit amet
Mapa Conceptual
Lorem Ipsum DOLOR
Lorem Ipsum DOLOR
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
LOREM IPSUM
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem ipsum dolor sit amet
Mapa Conceptual
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Lorem ipsum
Lorem ipsum
Lorem ipsum
Lorem ipsum
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
- LOREM
- IPSUM
- dolor
- sit amet
- consect
- LOREM
- IPSUM
- dolor
- sit amet
- consect
- LOREM
- IPSUM
- dolor
- sit amet
- consect
- LOREM
- IPSUM
- dolor
- sit amet
- consect
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
TOPICOS AVANZADOS DE PROGRAMACIÓN
Programación concurrente (Multihilos)
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Lorem Ipsum
Lorem ipsum
Lorem ipsum
Lorem ipsum
Lorem ipsum
Lorem ipsum
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
Lorem
EJEMPLO DE MULTIHILOS
HILOS EN JAVA
CONCEPTOS GENERALES
- Es la simultaneidad en la ejecución de múltiples tareas interactivas.
- Estas taréas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa.
- Los hilos, threads o contextos de ejecución se considera que encapsulan CPU virtuales.
- La clase java.lang.Thread permite crear y controlar hilos.
Un hilo es una unidad básica de utilización de CPU, la cual contiene un id de hilo, su propio program counter, un conjunto de registros, y una pila
El código puede ser compartido por multiples hilos independientes de los datos
- Dos threads comparte el mismo código cuando son instancias de la misma clase
Los datos pueden o no ser compartidos por multiples threads independiente del código.
- Dos threads comparten los datos cuando comparten el acceso a un objeto común.
MULTIHILOS
Multihilo o también conocido como multithreading, se refiere a la capacidad de un sistema o programa de ejecutar múltiples hilos de forma concurrente dentro de un proceso. En un entorno de ejecución de un solo hilo, el programa se ejecuta secuencialmente, es decir, una instrucción se ejecuta después de la otra y en orden. En cambio, en un entorno de ejecución multihilo, el programa puede dividirse en Múltiples hilos, cada uno de los cuales se ejecuta simultáneamente y realiza un conjunto específico de tareas. Los hilos comparten recursos y memoria comunes dentro de un proceso, lo que les permite comunicarse y cooperar entre sí. Cada hilo tiene su propio contador de programa, pila de ejecución y variables locales, pero también pueden acceder a variables compartidas y recursos compartidos dentro del proceso.
EJEMPLO DE HILOS
Aplicaciones en multihilos
La multiprogramación en Java se refiere a la capacidad de ejecutar múltiples procesos o hilos de forma simultánea en un entorno de programación Java. Esto es especialmente útil en aplicaciones que necesitan manejar múltiples tareas concurrentes para mejorar el rendimiento y la eficiencia de los recursos del sistema.
Aplicaciones comunes de la multiprogramación en Java:
- Servidores web: Los servidores web Java, como Apache Tomcat o Jetty, utilizan la multiprogramación para manejar múltiples solicitudes de clientes simultáneamente. Cada solicitud puede ser manejada por un hilo separado, permitiendo un procesamiento concurrente de las peticiones entrantes.
- Aplicaciones de red: Aplicaciones de red Java, como servidores de chat, servidores de juegos en línea o aplicaciones de transferencia de archivos, pueden utilizar la multiprogramación para manejar múltiples conexiones de red de forma simultánea. Cada conexión de red puede ser manejada por un hilo separado para permitir la comunicación concurrente.
- Aplicaciones de procesamiento de datos: Aplicaciones que requieren procesamiento intensivo de datos, como análisis de big data, procesamiento de imágenes o procesamiento de transmisiones de datos en tiempo real, pueden beneficiarse de la multiprogramación en Java. Dividir el trabajo en tareas más pequeñas y ejecutarlas en hilos separados puede mejorar significativamente el rendimiento de la aplicación.
- Aplicaciones de escritorio: Las aplicaciones de escritorio Java pueden utilizar la multiprogramación para realizar tareas en segundo plano mientras la interfaz de usuario sigue siendo receptiva. Por ejemplo, una aplicación de procesamiento de texto puede utilizar hilos separados para realizar operaciones de guardado automático o para procesar documentos mientras el usuario sigue interactuando con la interfaz de usuario.