OpenMP(例如 Intel C++ 12 实现)目前如何处理在 Linux 中使用 __thread 和在 Windows 中使用 __declspec(thread) 声明的 TLS 变量?它是让它们成为线程私有的还是只是忽略 TLS?
找到一篇相关论文,但仍然很困惑。
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1639501&tag=1
OpenMP(例如 Intel C++ 12 实现)目前如何处理在 Linux 中使用 __thread 和在 Windows 中使用 __declspec(thread) 声明的 TLS 变量?它是让它们成为线程私有的还是只是忽略 TLS?
找到一篇相关论文,但仍然很困惑。
http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1639501&tag=1
根据我的经验,__thread 用于在许多编译器(VC、gcc、icc)中实现 OpenMP threadprivate( MSDN 上的这个页面也提到了这一点)。