https://pt.wikipedia.org/wiki/Thread_safety
Thread safety (segurança de thread) é um conceito de programação de computadores aplicável no contexto de programas multi-thread. Um pedaço de código é dito thread-safe se ele apenas manipula estruturas de dados compartilhadas de uma forma que garanta uma execução segura através de várias threads ao mesmo tempo. Há várias estratégias para tornar estruturas de dados thread-safe.[1] [2]
Um desafio principal em programação multi-thread, a segurança de thread não era uma preocupação para a maioria dos desenvolvedores de aplicações até os anos de 1990 quando os sistemas operacionais começaram a expor múltiplas threads para a execução de código. Hoje um programa pode executar código em várias threads simultaneamente em um espaço de endereçamento compartilhado quando cada uma destas threads possuam acesso a virtualmente toda a memória de todas as outras threads. A segurança de thread é uma propriedade que permite que o código rode em ambientes multi-thread através do restabelecimento de algumas das correspondências entre o fluxo de controle real e o texto do programa, por meio de sincronização.