Thread Progamming in C++11

Multi-Threading bzw. Concurrency wird in C++ direkt erst ab C++11 unterstützt. Davor war es aber in gängigen Zusatz-Libraries enthalten (Boost, Qt, ...) verfügbar. Im wesentlichen bedeutet Multi-Threading, dass aus einem C++ Programm heraus mehrere, ``parallel laufende'' Prozesse (= Threads) gestartet werden können.

Historie:

Qt-Programme mit GUI sind automatisch multi-threaded:


Neuer Trend im Programmieren: Concurrency = Multithreading

Bis vor kurzem war Multi-Threading auf spezielle Anwendungen beschränkt (GUIs, Steuerung, Server-Prozesse) und etwas für Experten.

Allerdings vor einigen Jahren Trendwende bei Hardware Entwicklung:

Verlangt zwingend multi-threaded Programme um Leistungssteigerungen auszunutzen.

Siehe auch Artikel von Herb Sutter: The Free Lunch Is Over


Historie Transistor/CPU Entwicklung

Image 42-years-processor-trend


CPU vs Memory Speed

Image cpu_vs_memory




Subsections
GDuckeck 2019-08-01