c't 3/2019
S. 176
Buchkritik
Paralleles Programmieren

Getrennt gehen, gemeinsam ankommen

Moderne Software arbeitet vielfach mit nebenläufigen Prozessen. Oft ist es sinnvoll, Anwendungen geradezu als Zusammenspiel verteilter Prozesse zu gestalten. Christian Maurers Lehrbuch zeigt anhand von Googles Sprache Go den souveränen Umgang mit Parallelverarbeitung.

Anhand von Beispielen bringt der Autor seinen Lesern Probleme nahe, die durch unsynchronisierte Nebenläufigkeit entstehen können. Sperren (Locks) schaffen oft einfache Abhilfe – allerdings bringen ihre Prozessblockaden lästige Verzögerungen mit sich. Schnell stellt Maurer daher Semaphoren in unterschiedlichen Varianten vor und steigert schrittweise deren Komplexität. Dabei analysiert er viele klassische Algorithmen – etwa den zur Lösung des Problems der speisenden Philosophen.