Pamięć lokalna wątku (ang. Thread-local storage, TLS) – rozwiązanie używane w programowaniu komputerowym przypisującym pamięć statyczną lub globalną lokalnie do wątku.
Takie rozwiązanie bywa niezbędne, ponieważ wszystkie wątki w procesie współdzielą tą samą przestrzeń adresową. Innymi słowy, odnosząc się do zmiennej statycznej lub globalnej, różne wątki tego samego procesu odwołują się do tego samego miejsca w pamięci. Zmienne na stosie są natomiast lokalne dla wątku, ponieważ każdy wątek posiada własny stos, rezydujący w innym miejscu pamięci.
Czasami jest jednak pożądane, aby dwa wątki odnosząc się do tej samej zmiennej statycznej lub globalnej odwoływały się do różnych obszarów pamięci. To wymaga uczynienia zmiennej lokalną dla wątku. Klasycznym przykładem jest w języku C przechowująca kod błędu zmienna errno.
Jeżeli znany jest co najmniej rozmiar wskaźników, jest zasadniczo możliwe stworzenie bloków pamięci lokalnej wątku o dowolnie określonym rozmiarze. Alokuje się wówczas odpowiednie bloki pamięci, a wskaźniki do nich przechowuje w przestrzeni lokalnej wątku.
Implementacja Windows Funkcja API TlsAlloc może być użyta do uzyskania nieużywanego indeksu slotu TLS (TLS slot index).