Lokalny magazyn wątków (TLS)
Lokalnego magazynu wątków (TLS) jest to metoda, za pomocą której poszczególne wątki w wielowątkowym procesie danego można przydzielić miejsca do przechowywania danych zależnych od wątku.Dynamicznie danych zależnych od wątku bound (run-time) jest obsługiwana na zasadzie TLS API ([TlsAlloc], [TlsGetValue], [TlsSetValue], i [TlsFree]).Win32 i kompilator języka Visual C++ obsługuje obecnie danych statycznie związanego (czas ładowania) na wątek oprócz istniejącej implementacji interfejsu API.
Implementacja API dla TLS
Lokalnego magazynu wątków jest implementowana za pośrednictwem warstwy interfejsu Win32 API i kompilatora.Aby uzyskać więcej informacji, zobacz dokumentację interfejsu Win32 API dla [TlsAlloc], [TlsGetValue], [TlsSetValue], i [TlsFree].
Kompilator języka Visual C++ zawiera słowo kluczowe, aby zrobić więcej automatyczne operacje TLS, a nie za pośrednictwem interfejsu API warstwy.Ta składnia opisano w następnej sekcji, kompilator implementacji TLS.
Kompilator implementacji TLS
Do obsługi TLS, nowy atrybut wątku, został dodany do języków C i C++ i jest obsługiwana przez kompilator Visual C++.Ten atrybut jest modyfikatora klasy magazynu rozszerzonego zgodnie z opisem w poprzedniej sekcji.Użycie __declspec słowo kluczowe, aby zadeklarować wątku zmiennej.Na przykład poniższy kod deklaruje zmiennej lokalnej wątku całkowitą i inicjuje on o wartości:
__declspec( thread ) int tls_i = 1;