tls
All about thread-local storage
Updated in 2026-01.
Thread-local storage (TLS) provides a mechanism allocating distinct objects for different threads.
It is the usual implementation for GCC extension __thread, C11 _Thread_local, and C++11 thread_local, which allow the use of the declared name to refer to the entity associated with the current thread.
This article will describe thread-local storage on ELF platforms in detail, and touch on other related topics, such as: thread-specific data keys and Windows/macOS TLS.