Lokální úložiště vláken (TLS)
Místní úložiště vláken (TLS) je způsob, kterým může každé vlákno v daném vícevláknovém procesu alokovat místa pro uložení dat specifických pro vlákno.Dynamicky vázaná (běhu) specifická data podprocesu je podporován formou TLS API ([TlsAlloc], [TlsGetValue], [TlsSetValue], a [TlsFree]).Win32 a kompilátor Visual C++ nyní podporují staticky vázaná (při načítání) data pro vlákno ještě navíc k existující implementaci rozhraní API.
Implementace rozhraní API pro TLS
Místní úložiště vláken je implementováno prostřednictvím vrstvy Win32 API a kompilátoru.Další informace naleznete v dokumentaci k rozhraní Win32 API pro [TlsAlloc], [TlsGetValue], [TlsSetValue], a [TlsFree].
Kompilátor Visual C++ zahrnuje klíčové slovo pro větší automatizaci operací TLS, spíše než prostřednictvím vrstvy rozhraní API.Tato syntaxe je popsána v dalším oddílu, implementace kompilátoru pro TLS.
Implementace kompilátoru pro TLS
Pro podporu TLS byl přidán do jazyků C a C++ nový atribut thread a je podporován kompilátorem Visual C++.Tento atribut je modifikátorem třídy rozšířeného úložiště, jak je popsáno v předchozím oddílu.Použijte klíčové slovo __declspec pro deklarování proměnné thread.Například následující kód deklaruje místní proměnnou vlákna integer a inicializuje ji hodnotou:
__declspec( thread ) int tls_i = 1;