Dieser Vortrag stellt eine Einführung in Coroutines und Fibers in C++ dar, die an vielen Stellen eine Alternative bzw. Ergänzung zu Threads darstellen. Im Gegensatz zu Threads ist der Kontext-Switch von Coroutines und Fibers viel billiger und die Anzahl an gleichzeitig nutzbaren Coroutinen und Fibers ist nicht beschränkt.
Der Vortrag führt Coroutines und Fibers anhand der C++-Bibliotheken Boost.Coroutine und Boost.Fiber ein, vergleicht deren Kosten mit den Kosten von Threads und schlägt am Ende noch eine Brücke zu Coroutines in der Sprache C++, die wahrscheinlich mit Teil des C++20-Standards werden und zurzeit in Visual Studio schon genutzt werden können.
Vorkenntnisse
C++- und Thread-Grundkenntnisse - mehr nicht -, es ist ein einführender Vortrag.
Lernziele
Die Zuhörer sollen nach dem Vortrag wissen, was Coroutinen und Fibers sind und worin sie sich unterscheiden. Außerdem sollen sie typische Einsatzmöglichkeiten verstanden haben, wie Generatoren und Entlastung von Thread-Wechseln. Zu guter Letzt sollen sie ein erstes Gefühl bekommen haben, welche Sprachmittel für Coroutinen in C++20 wahrscheinlich zur Verfügung stehen werden.
// Detlef Wilkening
programmiert seit rund 20 Jahren in C++ und hat in dieser Zeit in den verschiedensten Anwendungsbereichen (Automotive, Bankenwesen, Flugplanung und Handel) sowohl Desktop- als auch Server-Systeme programmiert. Nebenher unterrichtet er C++ und Java an der Fachhochschule Aachen und hält regelmäßig Vorträge über C++.
// Sven Johannsen
ist Softwareentwickler mit mehr als 15 Jahren C++-Erfahrung. Er arbeitete in verschiedenen Projekten – von der Visualisierung von Messdaten bis hin zu Cloud Computing. Derzeit entwickelt er für Schlumberger eine Modeling-Software für die Petrolium-Industrie.