Продолжительность хранения потока
Объект, идентификатор которого объявлен с спецификатором класса хранения _Thread_local (с C11), имеет продолжительность хранения потока. Его жизненный цикл — это весь период выполнения потока, для которого он создан, а его сохранённое значение инициализируется при запуске потока. Существует отдельный объект на поток, и использование объявленного имени в выражении относится к объекту, связанному с потоком, оценивающим выражение. Результат попытки косвенного доступа к объекту с продолжительностью хранения потока из потока, отличного от того, с которым связан объект, определяется реализацией.
Пример
const double PI = 3.14159; /* const variable is global to all threads */
_Thread_local unsigned int seed; /* seed is a thread-specific variable */
int main(void)
{
return 0;
}Возможный вывод:
(none)
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/language/thread_storage_duration