Nesta aula, vamos analisar por que coleções comuns (
ArrayList,
HashMap) são perigosas em ambiente multithread e quais alternativas thread-safe o pacote
java.util.concurrent oferece:
ConcurrentHashMap,
CopyOnWriteArrayList,
ConcurrentLinkedQueue, estruturas com skip list e
BlockingQueue. Discutiremos operações atômicas como
merge,
putIfAbsent,
computeIfAbsent, vamos comparar com
Collections.synchronizedMap, e considerar exemplos práticos e erros típicos (iteradores fracamente consistentes, sequências de operações não atômicas etc.).