Ist inkrementieren eine ganze Zahl atomar in x86? [Duplikat]

Diese Frage hat hier bereits eine Antwort:

Kann num ++ für 'int num' atomar sein? 13 Antworten

Auf einem Multicore-x86-Computer erhöht ein Thread, der auf core1 ausgeführt wird, eine Ganzzahlvariablea Gleichzeitig erhöht der Thread auf Core 2 ihn ebenfalls. Vorausgesetzt, der Anfangswert vona war 0, würde es immer sein2 schlussendlich? Oder könnte es einen anderen Wert haben? Annehmen, dassa wird deklariert alsvolatile und wir verwenden keine atomaren Variablen (wie atomic <> von C ++ und eingebaute atomare Operationen in gcc).

Wenn der Wert vona wäre in der Tat immer 2 in einem solchen Fall, bedeutet das, dass along int in x86-64 hätte auch die gleiche Eigenschaft, das heißt,a wird am Ende immer 2 sein?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage