Weaknesses of type CWE-662
17 resultsSincronização Inadequada Entre Threads
Ocorre quando múltiplas threads acessam e modificam dados compartilhados sem mecanismos de sincronização (locks, mutexes, ou operações atômicas). Isso causa race conditions onde o resultado final depende da ordem de execução das threads, levando a corrupção de dados, lógica quebrada ou comportamentos impredizíveis.
Um contador global é incrementado por duas threads simultaneamente sem proteção: ambas leem o valor 5, incrementam para 6, e escrevem 6 de volta — resultado esperado era 7. Em um servidor web, isso pode deixar sessões inconsistentes ou estados de autenticação corrompidos.
Use primitivas de sincronização apropriadas (mutex, semáforo, operações atômicas) para proteger seções críticas. Em linguagens modernas, prefira estruturas thread-safe (ConcurrentHashMap em Java, canais em Go) e evite compartilhamento desnecessário de estado mutável entre threads.