Compartilhar via


(TLS) de armazenamento Local de segmento.

Armazenamento Local do thread (TLS) é o método pelo qual cada thread de um determinado processo multithread pode alocar os 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 oferecem suporte dados ligados estaticamente (tempo de carregamento) por thread além de implementação da API existente.

Implementação da API de TLS

Armazenamento Local de segmento é 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 para [TlsAlloc], [TlsGetValue], [TlsSetValue], e [TlsFree].

O compilador Visual C++ inclui uma palavra-chave para facilitar 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, a implementação do compilador para TLS.

Implementação do compilador para TLS

Para oferecer suporte a TLS, um novo atributo, segmento, foi adicionada para as linguagens c e C++ e é suportado pelo compilador Visual C++. Esse atributo é um modificador de classe de armazenamento estendido, conforme descrito na seção anterior. Use o __declspec palavra-chave para declarar um segmento variável. Por exemplo, o código a seguir declara uma variável de local de thread inteiro e o inicializa com um valor:

__declspec( thread ) int tls_i = 1;

Consulte também

Conceitos

Multithreading com c e Win32

Regras e limitações de TLS