使用 dedicated 关键字声明线程局部变量有什么区别:
_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_
函数集则将一个键返回给调用线程。然后可以使用此键访问一些可以根据需要分配的全局堆内存,并且该指针将仅对该线程可用,对吗?