<atomic>-Enumerationen

memory_order-Enumeration

Stellt symbolische Namen für Synchronisierungsvorgänge auf Speicheradressen bereit. Diese Vorgänge wirken sich auf das Sichtbarwerden der Zuweisung eines Thread in einem anderen aus.

typedef enum memory_order {
    memory_order_relaxed,
    memory_order_consume,
    memory_order_acquire,
    memory_order_release,
    memory_order_acq_rel,
    memory_order_seq_cst,
} memory_order;

Enumerationsmember

Name Beschreibung
memory_order_relaxed Keine Reihenfolge erforderlich.
memory_order_consume Ein Ladevorgang fungiert als Nutzungsvorgang auf der Speicheradresse.
memory_order_acquire Ein Ladevorgang fungiert als Abrufvorgang auf der Speicheradresse.
memory_order_release Ein Speichervorgang fungiert als eine Befreiungsaktion auf der Speicheradresse.
memory_order_acq_rel Kombiniert memory_order_acquire und memory_order_release.
memory_order_seq_cst Kombiniert memory_order_acquire und memory_order_release. Als memory_order_seq_cst gekennzeichnete Speicherzugriffe müssen nacheinander konsistent sein.

Siehe auch

<atomic>