En esta lección veremos por qué las colecciones normales (
ArrayList,
HashMap) son peligrosas en un entorno multihilo y qué alternativas seguras para hilos ofrece el paquete
java.util.concurrent:
ConcurrentHashMap,
CopyOnWriteArrayList,
ConcurrentLinkedQueue, estructuras basadas en skip list y
BlockingQueue. Hablaremos de operaciones atómicas como
merge,
putIfAbsent,
computeIfAbsent, las compararemos con
Collections.synchronizedMap, y veremos ejemplos prácticos y errores típicos (iteradores de consistencia débil, secuencias de operaciones no atómicas, etc.).