Want to create interactive content? It’s easy in Genially!

Get started free

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.