相关疑难解决方法(0)

C++ 11 thread_local变量是否自动静态?

这两个代码段之间是否存在差异:

void f() {
    thread_local vector<int> V;
    V.clear();
    ... // use V as a temporary variable
}
Run Code Online (Sandbox Code Playgroud)

void f() {
    static thread_local vector<int> V;
    V.clear();
    ... // use V as a temporary variable
}
Run Code Online (Sandbox Code Playgroud)

Backstory:最初我有一个STATIC向量V(用于保存一些中间值,每次进入函数时都会被清除)和一个单线程程序.我想把程序变成多线程程序,所以我不得不摆脱这个静态修饰符.我的想法是将每个静态转换为thread_local并且不担心其他任何事情?这可能会适得其反吗?

c++ thread-local-storage c++11

71
推荐指数
4
解决办法
3万
查看次数

标签 统计

c++ ×1

c++11 ×1

thread-local-storage ×1