visual studio 11中的c++11 thread_local关键字支持
c++11 thread_local keyword support in visual studio 11
因此有一个由visualstudio支持的c++11特性列表。
thread_local支持被标记为部分支持。我无法解释部分支持在这里到底意味着什么。他们只是别名__declspec(线程)吗?
我可以只使用boost::thread_specific_ptr,但似乎有一些报告说boost::thread_sspecific_ptr很慢。这可能是真的,也可能不是真的。
特别是,我想要最新的linux+gcc和windows+msvc上的x86/x64上的快速TLS。快速意味着在可能的情况下没有系统调用(我认为这对上面的平台来说是可能的。)
所以我深入研究了thread_local语义。gcc的__thread和msvc的__declspec(thread)具有相同的语义,thread_local(除了动态初始化之外,它可能还没有成为标准。)因此,这对我的用例来说真的不是问题。我只需要定义一个别名一个或另一个特定于平台的属性。
相关文章:
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- C++中的"inline"关键字
- 如何确保C++函数在定义之前声明(如override关键字)
- 谷歌模拟和覆盖关键字
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- 如果全局变量默认是外部变量,为什么要添加"extern"关键字?
- 当我从下面的代码中删除关键字 virtual 时,它可以正常工作,否则会出现错误。在这里"virtual"字的意义是什么?
- 为什么"delete"关键字不删除节点?
- 在 c++ 中正确定义"this"关键字?
- "local scope"中的 C++ 初始化静态变量
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- C++ - 为什么这里需要'template'关键字?
- C++函数的关键字?
- 使用 'typename' 关键字将非类型视为依赖上下文中的类型
- "friend"关键字在C++中是什么意思?
- 声明C++数组(带或不带 "new" 关键字)
- 对齐和对齐的实际用例C++关键字
- 如果我们在c++中使用static关键字删除[-Wreturn local-addr](警告:返回本地变量的地址),可以