Kapitel 14. Multithreading

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

C Programme führen oft mehrere Programmieraufgaben gleichzeitig aus. Zum Beispiel kann ein Programm:

  • Verfahren ausführen, die Zwischenaufgaben parallel erledigen und so die Leistung verbessern

  • Benutzereingaben verarbeiten, während zeitaufwändige Datenkommunikation oder Echtzeitoperationen "im Hintergrund" durchgeführt werden

Durch die gleichzeitige Ausführung von Teilen des Programms werden verschiedene Aufgaben gleichzeitig ausgeführt. Vor allem auf modernen Multiprozessorsystemen - natürlich auch auf Multicore-Prozessoren - wird es für Programme immer wichtiger, die Vorteile der Gleichzeitigkeit zu nutzen, um die Ressourcen des Systems effizient zu verwenden.

Bis vor kurzem mussten sich C-Entwickler auf Funktionen des Betriebssystems oder entsprechende Bibliotheken verlassen, um die gleichzeitige Ausführung zu implementieren. Mit dem neuen C11-Standard wird die Parallelität in der C-Programmierung nun jedoch portabel. C11 unterstützt Multithreading oder mehrere parallele Wege des Kontrollflusses innerhalb eines Prozesses und bietet den gleichen Grad an Gleichzeitigkeit wie alle modernen Betriebssysteme. Zu diesem Zweck definiert C11 ein geeignetes Speichermodell und unterstützt atomare Operationen. Die Unterstützung von Multithreading und atomaren Operationen ist im C11-Standard jedoch optional. Eine Implementierung, ...

Get C in a Nutshell, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.