Tasks

 

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

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

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: 1790

Threadlokale Daten

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

Weiterlesen...
Kommentar schreibenGelesen: 1477

Sicheres Initialisieren der Daten

 Werden Daten während ihre 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...
Kommentare 3Gelesen: 2514

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
Kommentare 1Gelesen: 2149

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: 1776

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
Kommentare 7Gelesen: 2674

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare