Repaso
English
Java CoreAvanzadoJV-39

¿Qué herramientas de concurrencia te da Java y cuándo usas cada una?

Respuesta

  • synchronized / ReentrantLock: protegen el estado mutable compartido con exclusión mutua.
  • volatile: visibilidad de un flag simple.
  • Atomic* / LongAdder: contadores sin locks.
  • ConcurrentHashMap, CopyOnWriteArrayList, BlockingQueue: colecciones thread-safe para datos compartidos y productor/consumidor.
  • ExecutorService: thread pools para ejecutar tareas; CompletableFuture: componer pasos async.
  • Virtual threads (Java 21): estilo bloqueante simple para concurrencia masiva de I/O.
  • Mejor regla: evita el estado mutable compartido; prefiere objetos inmutables y paso de mensajes.

Términos clave

Practica esta pregunta en Repaso