Armazenamento Local de thread (TLS)
Armazenamento Local do thread (TLS) é o método pelo qual cada thread em um determinado processo multithread pode alocar locais para armazenar dados específicos de segmento.Dinamicamente os dados específicos de segmento de limite (tempo de execução) são suportados por meio da API de TLS ([TlsAlloc], [TlsGetValue], [TlsSetValue], e [TlsFree]).Win32 e o compilador Visual C++ agora suportam dados ligados estaticamente (tempo de carregamento) por segmento além de implementação da API existente.
Implementação da API de TLS
Armazenamento Local de thread é implementado através da camada de API do Win32 e o compilador.Para obter mais informações, consulte a documentação da API do Win32 [TlsAlloc], [TlsGetValue], [TlsSetValue], e [TlsFree].
O compilador Visual C++ inclui uma palavra-chave para tornar as operações de TLS mais automática, em vez de por meio da API de camada.Essa sintaxe é descrita na próxima seção, implementação de 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 do Visual C++.Este atributo é um modificador de classe de armazenamento estendido, conforme 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;