Thread safety (segurança de fio de execução) é um conceito de programação de computadores aplicável no contexto de programas multi-thread. Um pedaço de código é dito thread-safe (seguro) 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.

Referências

  1. Kerrisk, Michael (2010). The Linux Programing Interface. [S.l.]: No Starch Press. p. 655 
  2. «Multithreaded Programming Guide». Oracle Corporation. Novembro de 2010. A procedure is thread safe when the procedure is logically correct when executed simultaneously by several threads. 
  Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.