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

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

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

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

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

Semaphoren in C++20

Semaphoren bieten sich an, um den gemeinsamen Zugriff auf geteilte Ressourcen zu koordinieren. Zusätzlich lässt sich mit ihnen Ping-Pong spielen.

Hier geht es direkt zum Artikel auf Heise Developer: .

Gelesen: 1283

Performanzvergleich von Bedingungsvariablen und Atomics in C++20

Nach Einführen des std::atomic_flag in meinem letzten Artikel "Synchronisation mit atomaren Variablen in C++20" möchte ich nun tiefer eintauchen. Heute implementiere ich ein Ping-Pong-Spiel mit Bedingungsvariablen: std::atomic_flag und std::atomic<bool>. Los geht das Spiel!

Hier geht's direkt zum Artikel auf Heise Developer:

Gelesen: 1507

Synchronisation mit atomaren Variablen

Sender/Empfänger Arbeitsabläufe sind typisch für Threads. In solch einem Arbeitsablauf wartet der Empfänger auf die Benachrichtigung des Senders bevor er seine Arbeit fortsetzt. Es gibt einige Möglichkeiten diesen Arbeitsablauf umzusetzen. Mit C++11 bieten sich Bedingungsvariablen oder Promise/Future-Paare an, mit C++20 atomare Variablen.

Hier geht es direkt zum Artikel auf Heise Developer:

Gelesen: 1758

Atomare Referenzen mit C++20

Atomare Variablen erhalten wichtige Erweiterungen in C++20. Im heutigen Artikel stelle ich den neuen Datentyp std::atomic_ref genauer vor.

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

Gelesen: 1916

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare