线程存储期
来自 cppreference.com
其标识符以存储类别说明符 _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)