support for thread-local storage
Thread-local storage is a class of static storage that, like the stack, is private to each thread of execution.
Each thread in
a process is given a location where it can store thread-specific
data. Variables are allocated so that there is one instance of the
variable for each existing thread.
Before each thread terminates, it releases its dynamic memory
and any pointers to thread-local variables in that thread become