__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