4 Stimmen

Verfügt x86 über ein atomares Inkrement, das den gespeicherten Wert beibehält?

Ich habe gefunden lock inc addr aber das hält keine Kopie des gespeicherten Wertes herum und sogar ein Lesen unmittelbar danach im selben Thread könnte nach einem konkurrierenden Schreiben kommen.

Die beste Lösung, die ich gefunden habe, ist eine load / inc / cas bucle.

11voto

Anton Tykhyy Punkte 18869

lock xadd ist Ihr Freund.

3voto

Test Punkte 1673

Siehe atomic_impl.h für weitere x86/x86_64-Atomprimitive und deren Verwendung.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X