Task Blocks

Task Blocks setzen das beliebte Fork-Join Paradigma für die parallele Ausführung von Aufgaben um.

Weiterlesen...
Gelesen: 13700

Transactional Memory

Transactional Memory basiert auf der Idee der Transaktion aus der Datenbanktheorie. Transactional Memory soll den Umgang mit mehreren Threads deutlichen vereinfachen. Zum einen verhindern sie kritische Wettläufe und Verklemmungen, zum anderen können Transaktionen komponiert werden.

Weiterlesen...
Gelesen: 13964

Coroutinen

Coroutinen sind Funktionen, die ihren Ablauf unterbrechen und wieder aufnehmen können und dabei ihren Zustand behalten. Die Evolution in C++20 geht einen deutlichen Schritt weiter.

Weiterlesen...
Gelesen: 19618

Latches und Barriers

Latches und Barriers sind einfache Thread Synchronisierungsmechanismen, die es erlauben, mehrere Threads warten zu lassen, bis eine Operation fertig ist. Latches und Barriers soll es in drei Geschmacksrichtungen in C++20 geben: std::latch, std::barrier und std::flex_barrier.

Weiterlesen...
Gelesen: 15583

std::future Erweiterungen

Tasks in der Form von Promisen und Futuren in C++11 genießen einen ambivalenten Ruf. Zum einen sind sie deutlich leichter zu verwenden als Threads oder Bedingungsvariablen, zum anderen besitzen sie eine große Unzulänglichkeit. Sie können nicht komponiert werden. Mit dieser Unzulänglichkeit räumt C++20 auf.

Weiterlesen...
Tags: Tasks
Gelesen: 20017

Atomare Smart Pointer

C++20 wird atomare Smart Pointer erhalten. Ganz genau wird es ein std::atomic_shared_ptr und ein std::atomic_weak_ptr sein. Warum eigentlich, std::shared_ptr und std::weak_ptr sind doch schon thread-sicher. Jein. Da muss ich ein wenig ausholen.

Weiterlesen...
Gelesen: 16982

Parallele Algorithmen der STL

Die Idee ist schnell skizziert. Die Standard Template Library enthält gut 100 Algorithmen für das Suchen, Zählen, Manipulieren von Bereichen und deren Elemente. Mit C++17 wurden 69 der Algorithmen überladen und neue Algorithmen hinzugefügt. Diese überladenen und neuen Algorithmen können mit einer sogenannte Execution Policy aufgerufen werden. Mit dieser Execution Policy lässt sich spezifizieren, ob der Algorithmus sequentiell, parallel oder parallel und vektorisiert ausgeführt wird.

Weiterlesen...
Tags: Parallel
Gelesen: 22795

Multithreading in C++17 und C++20

Vorhersagen über die Zukunft sind schwierig. Insbesondere, wenn sie C++20 betreffen. Trotzdem wage ich ein Blick in die Kristallkugel und werde in den nächsten Artikeln darüber schreiben, auf was wir uns als C++ Entwickler mit C++17 freuen, auf was wir in C++20 hoffen dürfen.

Weiterlesen...
Tags: Parallel
Gelesen: 27795

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 388

Gestern 1308

Woche 7857

Monat 167964

Insgesamt 2980469

Aktuell sind 28 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare