Local thread Storage (TLS)
Armazenamento de thread local (TLS) é o método pelo qual cada thread em um determinado processo multissegmentado pode alocar locais para armazenar dados específicos de segmento.Dinamicamente os dados específicos de segmento de limite (time de execução) são suportados por meio da API de TLS (TlsAlloc, TlsGetValue, TlsSetValue, and TlsFree).Win32 e o compilador do Visual C++ agora oferecem suporte dados acoplados estaticamente (time de carregamento) por thread além da implementação da API existente.
Implementação da API de TLS
Armazenamento local de thread é implementado através de camada de API do Win32 e o compilador.Para obter mais informações, consulte a documentação da Win32 API para TlsAlloc, TlsGetValue, TlsSetValue, and TlsFree.
O compilador do Visual C++ inclui uma palavra-chave para tornar as operações de TLS mais automático, em vez de por meio da API de camada.Essa sintaxe é descrita na próxima seção, a implementação do compilador para TLS.
Implementação do compilador para TLS
Para oferecer suporte a TLS, um novo atributo, thread, foi adicionada para as linguagens C e C++ e é suportado pelo compilador Visual C++.Esse atributo é um modificador de clsistema autônomos armazenamento estendido, sistema autônomo descrito na seção anterior.Use o __declspec palavra-chave para declarar um thread variável.Por exemplo, o código a seguir declara uma variável local de thread inteiro e o inicializa com um valor:
__declspec( thread ) int tls_i = 1;