Falhas do tipo CWE-662
17 resultadosSincronização inadequada entre threads
É quando múltiplas threads acessam e modificam dados compartilhados sem mecanismos de proteção (locks, mutexes, etc.), causando race conditions. Dois threads podem ler/escrever no mesmo recurso simultaneamente, levando a estados inconsistentes, corrupção de dados ou comportamento imprevisto.
Duas requisições simultâneas acessam um contador global sem lock: thread A lê valor 5, thread B lê valor 5, A incrementa para 6, B incrementa para 6 — ambas escrevem 6 em vez de 7. O resultado final fica incorreto e imprevisível.
Use primitivas de sincronização apropriadas (mutex, semáforo, monitores) para proteger seções críticas. Em linguagens modernas, prefira estruturas thread-safe (concurrent collections) ou padrões de imutabilidade. Realize testes com múltiplas threads e ferramentas de detecção de race conditions (ThreadSanitizer, Helgrind).