3 Synchronisation

Eine der Hauptaufgaben bei der parallelen Programmierung besteht darin, konkurrierende Zugriffe auf gemeinsame Ressourcen zu synchronisieren, um Konflikte zu vermeiden. Unter Ressourcen sind dabei sowohl Datenstrukturen, im einfachsten Fall Variablen, als auch Betriebsmittel wie Peripheriegeräte zu verstehen. Wenn beispielsweise mehrere Threads auf eine Liste zugreifen, muss sichergestellt sein, dass sich die Liste zu jedem Zeitpunkt in einem ordnungsgemäßen Zustand befindet. Andernfalls kann es passieren, dass Änderungen an der Liste verloren gehen oder nur unvollständig ausgeführt werden. Solche Fehler sind in der Praxis leider oft nur schwer zu finden [37, 38].

In diesem Kapitel beschreiben wir verschiedene Arten von Synchronisationsmechanismen ...

Get Multicore-Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.