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

Get started free

InfografiaUT5_SBM

Samuel Bermejo Mateos

Created on February 9, 2026

Start designing with a free template

Discover more than 1500 professional designs like these:

Urban Illustrated Presentation

Snow Presentation

Corporate Christmas Presentation

Historical Presentation

Scary Eighties Presentation

Memories Presentation

Winter Presentation

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:
  • 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