Udostępnij za pośrednictwem


Lokalnego magazynu wątków (TLS)

Lokalnego magazynu wątków (TLS) jest to metoda, przez które każdego wątku w danym procesie wielowątkowe można przydzielić lokalizacje do przechowywania danych specyficznych dla wątku.Dynamicznie bound (run-time), dane specyficzne dla wątku jest obsługiwany w TLS API ([TlsAlloc], [TlsGetValue], [TlsSetValue], i [TlsFree]).Win32 i kompilatora Visual C++ obsługuje teraz danych związany statycznie (w czasie ładowania) dla wątku, oprócz istniejącej implementacji interfejsu API.

Interfejs API wykonania TLS

Lokalnego magazynu wątków jest realizowane za pośrednictwem warstwy interfejsu Win32 API i kompilator.Aby uzyskać więcej informacji, zobacz dokumentację interfejsu Win32 API [TlsAlloc], [TlsGetValue], [TlsSetValue], i [TlsFree].

Kompilator Visual C++ zawiera słowa kluczowego wprowadź bardziej automatycznych operacji TLS, zamiast API warstwy.Ta składnia jest opisane w następnej sekcji, kompilator wykonania TLS.

Kompilator wykonania TLS

Wspieranie 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, jak opisano w poprzedniej sekcji.Użyj __declspec słowo kluczowe, aby zadeklarować wątku zmienna.Na przykład poniższy kod deklaruje zmiennej lokalnej wątku do liczby całkowitej i inicjuje ją o wartości:

__declspec( thread ) int tls_i = 1;

Zobacz też

Koncepcje

Wielowątkowość c i Win32

Zasady i ograniczenia dotyczące TLS