Tasks

 Tasks sind relativ spät in den neuen C++11 Standard aufgenommen worden. Sie bieten eine deutlich höhere Abstraktion als Threads an und sind diesen fast immer vorzuziehen.

Weiterlesen...
Tags: Locks, Tasks
Kommentar schreibenGelesen: 6822

Bedingungsvariablen

Bedingungsvariablen ermöglichen es, Threads über Benachrichtigungen zu synchronisieren. Damit lassen sich typische Anwendungsfälle wie Sender/Empfänger oder Producer/Consumer umsetzen. In diesen wartet der Empfänger oder Consumer, bis er eine Benachrichtigung vom Sender oder Producer erhält um mit seiner Arbeit fortzufahren.

Weiterlesen...
Kommentar schreibenGelesen: 7002

Threadlokale Daten

Threadlokale Daten werden durch das Schlüsselwort thread_local definiert. Sie sind schnell erklärt.

Weiterlesen...
Kommentar schreibenGelesen: 4939

Sicheres Initialisieren der Daten

Werden Daten während ihrer ganze Lebenszeit nur lesend von mehreren Threads verwendet, müssen diese nur sicher initialisiert werden. Das teure Locken der Daten ist bei keinem Zugriff notwendig.

Weiterlesen...
Kommentar schreibenGelesen: 7925

Locks statt Mutexen

Wenn der letzte Artikel Gefahren von Mutexen etwas gezeigt hat, dann, dass Mutexe mit großer Vorsicht zu genießen sind. Daher sollen Mutexe in C++ in Locks verpackt werden.

Weiterlesen...
Tags: Mutexe, Locks
Kommentar schreibenGelesen: 14874

Gefahren von Mutexen

Der Einsatz von Mutexen hört sich sehr einfach an. Es gibt einen kritischen Bereich "Critical Section" im Code, den nun ein Thread betreten darf. Genau diese Exklusivität sichert ein Mutex m durch die zwei Aufrufe m.lock() und m.unlock() zu. Der Teufel steckt aber sprichwörtlich im Detail.

Weiterlesen...
Tags: Mutexe
Kommentar schreibenGelesen: 6952

Threads teilen Daten

Die große Herausforderung mit Threads beginnt dann, wenn sich diese Daten teilen und diese nicht konstant sind.

Weiterlesen...
Tags: C++14, Mutexe
Kommentar schreibenGelesen: 9187

Datenübergabe an Threads

Ein Thread kann seine Daten per Copy oder per Referenz erhalten. Per Default sollte der Thread seine Daten per Copy annehmen, da per Referenz angenommene Daten leicht ihre Gültigkeit verlieren.

Weiterlesen...
Kommentar schreibenGelesen: 8961

Lebenszeit von Threads

Der Erzeuger muss sich um sein Kind kümmern. Diese einfache Aussage besitzt für Threads weitreichende Konsequenzen. Das kleine Programm startet einen Thread, der seine ID auf der Konsole ausgeben soll. 

Weiterlesen...
Kommentar schreibenGelesen: 9501

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode