В чем разница между объявлением локальной переменной потока с помощью специального ключевого слова:
_Thread_local int var;
и использованием определенного tss_
набора функций:
tss_t key;
tss_create(&key, free);
tss_set(key, malloc(sizeof(int)));
int* pVar = tss_get(key);
Из чегоНасколько я понимаю, ключевое слово _Thread_local
объявляет переменную с продолжительностью хранения потока, в то время как набор функций tss_
возвращает ключ вызывающему потоку.Этот ключ затем может быть использован для доступа к некоторой глобальной памяти кучи, которая может быть выделена по мере необходимости, и этот указатель будет доступен только для этого потока, я прав?