Zum Inhalt springen
uencoder

Atomic Operation

Eine atomare Operation wird unteilbar ausgeführt, ist für nebenläufige Beobachter sichtbar und nicht unterbrechbar, wodurch einfache Nebenläufigkeitssicherheit ohne Sperren erreicht wird.

Zweck

Ein sperrenfreies Nebenläufigkeitsprimitiv, leichter als Sperren, das zur Implementierung von Zählern und Flags verwendet wird.

Mechanismus

Die Hardware stellt das CAS-Primitiv (Compare-and-Swap) bereit: ein atomarer Vergleich und Austausch. Darauf aufbauend folgen atomare Inkrement-, Dekrement- und Flag-Operationen. Die Speicherreihenfolge steuert die Sichtbarkeit (acquire/release/seq_cst). Günstiger als Sperren, aber nur für einfache Operationen geeignet.

Anwendungsfälle

  • Sperrenfreie Nebenläufigkeit
  • Zähler
  • CAS

References