Möchtet ihr mit eurem Team teilnehmen? Ab drei Personen profitiert ihr von unseren Gruppenrabatten! Direkt im Shop buchen!

Hazard Pointers in C++26: Speichersicherheit und wie sie das ABA-Problem lösen

Eine Hazard-Pointer Implementierung in C++ steht seit 2016 als Teil von Facebook’s Open-Source-Bibliothek Folly zur Verfügung. Seit 2017 kommt diese in großem Maße auch in der Praxis zum Einsatz.

Doch was sind Hazard Pointer eigentlich? Wie helfen sie bei der effizienten Implementierung von nebenläufigen Algorithmen? Wie lösen sie das ABA-Problem?

Dieser Vortrag gibt Antworten auf all diese Fragen und mehr.
So viel sei bereits verraten: Hazard Pointer dienen als Mechanismus zur Kommunikation zwischen verschiedenen Threads und erlauben diesen anzuzeigen, an welchen Objekten sie interessiert sind, das heißt, welche Objekte nicht verfrüht — während sie noch in Benutzung sind — zerstört werden dürfen. Das bietet eine sehr effiziente Möglichkeit, Speicher in komplexen, nebenläufigen Umgebungen sicher zu verwalten.

Vorkenntnisse

Kenntnisse in der C und C++ Programmierun

Lernziele

  • ABA-Problem in der nebenläufigen Programmierung
  • Funktionsweise von Hazard Pointern und wie sie zur Implementierung lock-freier Algorithmen eingesetzt werden können
  • Vor- und Nachteile von Hazard Pointern gegenüber traditionellen Synchronisationsmechanismen mittels Locks

Speaker

 

Philipp Dominik Schubert
Philipp Dominik Schubert

heise-devSec-Newsletter

Du möchtest über die heise devSec
auf dem Laufenden gehalten werden?

 

Anmelden