嵌套thread_local变量

问题描述 投票:0回答:1

声明

static thread_local
变量时,每个线程都有该变量的副本。想象一下一个线程然后旋转另一个线程,这个变量仍然是嵌套线程中的副本吗?

c++ multithreading static-variables thread-local
1个回答
0
投票

thread_local
变量在每个线程中都有一个实例。线程如何创建并不重要。

thread_local
变量的每个实例都根据其初始化声明进行初始化。没有从一个实例到另一个实例制作任何副本。

static
关键字的含义与
thread_local
完全正交。在块作用域和类作用域中,它始终与
thread_local
是多余的。在命名空间范围内,它提供变量内部链接,这意味着每个翻译单元(
.cpp
文件)也将拥有自己的变量实例。

© www.soinside.com 2019 - 2024. All rights reserved.