Sind C ++ 11-Variablen thread_local automatisch statisch?

Gibt es einen Unterschied zwischen diesen beiden Codesegmenten:

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

und

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

Hintergrundgeschichte: Ursprünglich hatte ich einen STATISCHEN Vektor V (zum Halten einiger Zwischenwerte, der bei jedem Aufruf der Funktion gelöscht wird) und ein Single-Thread-Programm. Ich möchte das Programm in ein Multithreading-Programm verwandeln, also muss ich diesen statischen Modifikator irgendwie loswerden. Meine Idee ist, jede statische in thread_local zu verwandeln und sich um nichts anderes zu kümmern? Kann dieser Ansatz nach hinten losgehen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage