Ein unendlicher Datenstrom dank Coroutinen in C++20

In diesem Artikel wird das Schlüsselwort co_yield genauer unter die Lupe genommen. Dank ihm ist es möglich, einen unendlichen Datenstrom zu erzeugen.

Hier gehts direkt zum Artikel auf Heise Developer: .

Gelesen: 1852

Mit Coroutinen einen Future in einem eigenen Thread ausführen

Mit diesem Artikel beende ich meine Ausführungen zu co_return in C++20 ab. Der erste Artikel beschäftigte sich mit einem Future, der sofort ausgeführt wurde. Es folgte ein Future, der nur bei Bedarf startete. Heute werde ich das Future dank Coroutinen in seinem eigenen Thread ausführen.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 1859

Lazy Futures mit Coroutinen in C++20

Beginnend mit der Coroutinen-basierten Implementierung eines einfaches Futures im letzten Artikel "C++20: Einfache Futures mit Coroutinen implementieren", möchte ich nun einen Schritt weiter gehen. In diesem Artikel steht die Analyse der einfachen Coroutine an. Dazu soll die Coroutine eine Bedarfsauswertung umsetzen.

Hier geht es direkt zum Artikel auf Heise Developer: https://heise.de/-5073590.

Gelesen: 2109

Einfache Futures mit Coroutinen implementieren

Anstelle von return, verwendet eine Coroutine co_return, um ihren Wert zurückzugeben. In diesem Artikel werde ich eine einfache Coroutine implementieren, die co_return verwendet.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 1958

Synchronisierte Ausgabe-Streams mit C++20

Was passiert, wenn unsynchronisiert auf std::cout geschrieben wird? Ein vollkommenes Durcheinander. Das muss mit C++20 nicht mehr sein.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 1924

Ein verbesserter Thread mit C++20

std::jthread steht für einen automatisch joinenden Thread. Im Gegensatz zu std::thread (C++11) joint std::jthread automatisch in seinem Destruktor und kann kooperativ unterbrochen werden. Dieser Artikel zeigt, warum std::jthread die erste Wahl sein sollte.

Hier geht es direkt zum Artikel auf Heise Developer: .

Weiterlesen...
Gelesen: 2088

Kooperatives Unterbrechen eines Threads in C++20

Vor C++20 ließen sich Threads nicht unterbrechen. Mit C++20 kann man an einen Thread die Anfrage stellen, dass er sich beendet. Ihr kann er dann nachkommen.

Hier geht's direkt zum Artikel auf Heise Developer:

Weiterlesen...
Gelesen: 2037

Barrieren und atomare Smart Pointer in C++20

In meinem letzten Artikel habe ich Latches zur Thread-Koordination in C++20 vorgestellt. Latch besitzt einen großen Bruder: Barrier. Diese können mehrmals verwendet werden. In diesem Artikel beschäftige ich mit Barrieren und atomaren Smart Pointers.

Hier geht's direkt zum Artikel auf Heise Developer: https://heise.de/-5041229https://heise.de/-5041229.

Gelesen: 2155

Latches in C++20

Latches und Barriers sind Koordinationsdatentypen, die es Threads erlauben zu warten, bis ein Zähler den Wert Null besitzt. Ein std::latch lässt sich nur einmal, ein std::barrier hingegen mehrmals verwenden. Heute schaue ich mir Latches genauer an.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 2013

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare