Kapitel 17. Synchronisation der Threads

Bedingungsvariablen geben dem C++11-Entwickler das Werkzeug an die Hand, Aktionen von Threads zu synchronisieren. Im Standardfall agiert ein Thread als Sender, ein anderer Thread als Empfänger des Signals. Der Empfänger wartet blockierend auf das Signal, um mit seiner Aktion voranschreiten zu können. Die Beziehung zwischen Sender und Empfänger muss aber nicht 1:1 sein. Es ist durchaus möglich, dass mehrere Threads Sender bzw. Empfänger des Signals sind. Damit die Synchronisation der Threads auch koordiniert ausgeführt wird, setzt die Bedingungsvariable einen Lock voraus.

Aktionen zwischen Sender und Empfänger

Das Programm conditionVariableStructure.cpp in Listing 17.1 soll die Aktionen aufzeigen, die für die ...

Get C++11 für Programmierer 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.