Infografía UT5
Samuel Bermejo
2MV
Comunicación vs Sincronización de hilos
COMUNICACIÓN DE HILOS
sincronización DE HILOS
Qué esEs el intercambio de información entre hilos para coordinar tareas. Para qué sirve Permite que un hilo espere, avise o pase datos a otro hilo. Ejemplo sencillo Cola de pedidos
- Hilo A (cliente) añade pedidos
- Hilo B (cocinero) procesa pedidos
- El cocinero espera hasta que haya pedidos
Conceptos clave:
- Compartir datos
- Esperas y notificaciones
- Coordinación de tareas
Qué esEs el control del acceso a recursos compartidos para evitar errores. Para qué sirve Evita condiciones de carrera cuando varios hilos acceden al mismo dato. Ejemplo sencillo Cuenta bancaria
- Dos hilos intentan retirar dinero
- Solo uno puede acceder al saldo a la vez
Conceptos clave:
- Exclusión mutua
- Acceso controlado
- Recursos compartidos
Semáforos
¿Qué es un Semaphore?Es un contador de permisos que controla cuántos hilos pueden acceder a un recurso al mismo tiempo. Funciona como un semáforo real: Verde → pasa el hilo Rojo → el hilo espera ¿Para qué sirve? Limitar el acceso concurrente Controlar recursos con capacidad limitada Ejemplo visual Impresoras compartidas
- Hay 2 impresoras
- Máximo 2 hilos pueden imprimir a la vez
- Los demás esperan
Tipos
Semáforo binario
- Permisos = 1
- Similar a un synchronized
- Solo un hilo accede
Semáforo general
- Permisos > 1
- Varios hilos acceden a la vez
Monitores
Monitores en JavaUn monitor es un mecanismo que:
- Protege datos compartidos
- Permite que solo un hilo ejecute código crítico
En Java, cada objeto tiene un monitor interno synchronized Sirve para:
- Bloquear métodos o bloques de código
- Garantizar exclusión mutua
Tipos:
- Método synchronized
- Bloque synchronized
Ejemplo visualContador compartido
- Varios hilos incrementan un contador
- synchronized evita valores incorrectos
Resultado: ✔️ Incrementos seguros ❌ Sincronización incorrecta → errores
Información compartida
Compartir datos entre hilosLos hilos pueden compartir:
- Variables
- Objetos
- Recursos (archivos, BD, memoria)
Problemas típicos Condición de carrera
- Dos hilos modifican el mismo dato al mismo tiempo
Datos inconsistentes
- El valor final no es el esperado
Soluciones✔️ synchronized ✔️ Semaphore ✔️ Otros mecanismos de sincronización Ejemplo visual Recurso compartido protegido
- Sin protección → caos
- Con monitor o semáforo → acceso ordenado
Otros mecanismos de sincronización en Java
CyclicBarrier
Qué haceVarios hilos esperan en un punto y continúan juntos. Ejemplo visual Cruce
- Todos los hilos llegan
- Cuando están todos, avanzan a la vez
Diferencia clave: Se puede reutilizar
CountDownLatch
Qué haceUn hilo espera hasta que otros terminen su trabajo. Ejemplo visual Carrera
- 3 hilos corredores
- El hilo principal espera a que todos lleguen
Uso típico: Inicialización de tareas Esperar procesos previos
Exchanger
Qué haceDos hilos intercambian datos directamente. Ejemplo visual Intercambio de paquetes
- Hilo A da un dato
- Hilo B da otro
- Ambos continúan con el dato del otro
Ejemplos reales de aplicaciones multihilo
Simulaciones o juegos multijugador
- Varios jugadores (hilos)
- Recursos compartidos (estado del juego)
- Sincronización para evitar inconsistencias
Servidor con múltiples conexiones
- Cada cliente → un hilo
- Acceso sincronizado a recursos comunes
- Uso de monitores y semáforos
Productor – Consumidor
- Productor genera datos
- Consumidor los procesa
- Comunicación y sincronización constantes
FIN
InfografiaUT5_SBM
Samuel Bermejo Mateos
Created on February 9, 2026
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Urban Illustrated Presentation
View
Snow Presentation
View
Corporate Christmas Presentation
View
Historical Presentation
View
Scary Eighties Presentation
View
Memories Presentation
View
Winter Presentation
Explore all templates
Transcript
Infografía UT5
Samuel Bermejo
2MV
Comunicación vs Sincronización de hilos
COMUNICACIÓN DE HILOS
sincronización DE HILOS
Qué esEs el intercambio de información entre hilos para coordinar tareas. Para qué sirve Permite que un hilo espere, avise o pase datos a otro hilo. Ejemplo sencillo Cola de pedidos
- Hilo A (cliente) añade pedidos
- Hilo B (cocinero) procesa pedidos
- El cocinero espera hasta que haya pedidos
Conceptos clave:Qué esEs el control del acceso a recursos compartidos para evitar errores. Para qué sirve Evita condiciones de carrera cuando varios hilos acceden al mismo dato. Ejemplo sencillo Cuenta bancaria
- Dos hilos intentan retirar dinero
- Solo uno puede acceder al saldo a la vez
Conceptos clave:Semáforos
¿Qué es un Semaphore?Es un contador de permisos que controla cuántos hilos pueden acceder a un recurso al mismo tiempo. Funciona como un semáforo real: Verde → pasa el hilo Rojo → el hilo espera ¿Para qué sirve? Limitar el acceso concurrente Controlar recursos con capacidad limitada Ejemplo visual Impresoras compartidas
Tipos
Semáforo binario
- Permisos = 1
- Similar a un synchronized
- Solo un hilo accede
Semáforo generalMonitores
Monitores en JavaUn monitor es un mecanismo que:
- Protege datos compartidos
- Permite que solo un hilo ejecute código crítico
En Java, cada objeto tiene un monitor interno synchronized Sirve para:- Bloquear métodos o bloques de código
- Garantizar exclusión mutua
Tipos:Ejemplo visualContador compartido
- Varios hilos incrementan un contador
- synchronized evita valores incorrectos
Resultado: ✔️ Incrementos seguros ❌ Sincronización incorrecta → erroresInformación compartida
Compartir datos entre hilosLos hilos pueden compartir:
- Variables
- Objetos
- Recursos (archivos, BD, memoria)
Problemas típicos Condición de carrera- Dos hilos modifican el mismo dato al mismo tiempo
Datos inconsistentesSoluciones✔️ synchronized ✔️ Semaphore ✔️ Otros mecanismos de sincronización Ejemplo visual Recurso compartido protegido
Otros mecanismos de sincronización en Java
CyclicBarrier
Qué haceVarios hilos esperan en un punto y continúan juntos. Ejemplo visual Cruce
- Todos los hilos llegan
- Cuando están todos, avanzan a la vez
Diferencia clave: Se puede reutilizarCountDownLatch
Qué haceUn hilo espera hasta que otros terminen su trabajo. Ejemplo visual Carrera
- 3 hilos corredores
- El hilo principal espera a que todos lleguen
Uso típico: Inicialización de tareas Esperar procesos previosExchanger
Qué haceDos hilos intercambian datos directamente. Ejemplo visual Intercambio de paquetes
Ejemplos reales de aplicaciones multihilo
Simulaciones o juegos multijugador
Servidor con múltiples conexiones
Productor – Consumidor
FIN