__gshared zostało wprowadzone w celu uniknięcia zmiany typu zmiennej i odpowiada ono deklaracji zmiennej globalnej w języku C/C++.
Borland C++ Builder W Borland C++ Builder słowo kluczowe __declspec(thread) jest używane jak poniżej: __declspec(thread) int liczba; To samo w bardziej elegancki sposób: int __thread liczba; __declspec(thread) definiuje liczba jako zmienną lokalną dla wątku. __thread jest synonimem __declspec(thread). int definiuje typ zmiennej liczba jako int.
GCC GCC C/C++ implementuje __thread jak podano wyżej.
Wartość inicjująca zmienną musi być stałą czasu kompilacji, nawet w C++. Na przykład. __thread int liczba = 1; ale nie void f(int liczba) { static __thread int liczba_kopia = liczba; lub (C++) __thread int liczba = oblicz_liczbę();
C# i inne języki .NET Statyczne pola mogą być oznaczane przez atrybut ThreadStatic:
class FooBar { [ThreadStatic] static int foo;
Jest też dostępne API dla dynamicznego alokowania zmiennych lokalnych dla wątku.
Python W języku Python w wersjach 2.4 i późniejszych, klasa local w module threading służy do tworzenia zmiennych lokalnych dla wątku. import threading mydata = threading.local() mydata.x = 1
Ruby W języku Ruby zmienne lokalne dla wątku są tworzone i dostępne przy użyciu metod []=/[]. Thread.current[:user_id] = 1