Open Source im professionellen Einsatz

Modernes C++ in der Praxis – Folge 5

Im Gleichtakt

Die C++11-Reihe beschäftigt sich weiter mit dem Synchronisieren von Threads. Diesmal setzt der Chef-Thread Bedingungsvariablen ein, um die Tätigkeit seiner Mitarbeiter-Threads zu koordinieren.

Multicore-Rechner und Multithreading gehören zum modernen IT-Alltag. Doch die Arbeit mehrerer Threads will koordiniert sein. Dieser Artikel greift das Programmierbeispiel aus der vorigen Folge wieder auf, in dem ein Chef-Thread sechs Mitarbeiter per Zuruf zu koordinieren versuchte. Zunächst riefen sie alle durcheinander – erst als der Boss die Regel ausgab, dass jeder Arbeiter seinen Kollege zuerst ausreden lassen soll, kehrte Ordnung ein. Dabei repräsentierte je ein Thread einen Arbeiter, und der Ausgabekanal »std::cout« stand für die gemeinsam genutzte Variable, die es zu schützen gilt [1].

Synchronisation per Wahrheitswert

Statt mit Zurufen möchte der Boss seine Mitarbeiter nun mit Hilfe eines Wahrheitswerts synchronisieren. Er hat sich das ganz einfach vorgestellt: Ein Arbeiter beginnt genau dann zu arbeiten, wenn der Wahrheitswert auf »true« gesetzt ist. Da dieser Wert zu Anfang den Wert »false« besitzt, kann der Boss seinen Arbeitern das Startsignal geben. Der erste Prototyp eines kleinen Arbeitsablaufs geht in C++11 schnell von der Hand, wie Listing 1 zeigt. Die Codebeispiele sind aus Platzgründen gekürzt, unter [2] steht der vollständige Quelltext zum Download bereit.

Listing 1

[...]

Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel, die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind. Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook