Verwendung von Registern durch den Compiler in Multithread-Programmen

Es ist eine allgemeine Frage, aber:

Ist es für den Compiler in einem Multithread-Programm sicher, Register zum temporären Speichern globaler Variablen zu verwenden?

Ich denke, es ist nicht, da das Speichern globaler Variablen in Registern gespeicherte Werte für andere Threads ändern kann.

Und wie wäre es mit Registern zum Speichern lokaler Variablen, die in einer Funktion definiert sind?

Ich denke, es ist in Ordnung, da kein anderer Thread in der Lage sein wird, diese Variablen abzurufen.

Bitte korrigiere mich wenn ich falsch liege. Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage