Thread-Local Data
Thread-local data, also known as thread-local storage, is created for each thread separately. It behaves like static data because it’s bound for the lifetime of the thread and is created at its first usage. This means exactly that thread-local variables at namespace scope or as static class members are created before its first use and those thread-local variables declared in a function are created with its first use. Thread-local data belongs exclusively to the thread.