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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.