Kapitel 12. Parallele Threads
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Heute Abend sind es 99 Umdrehungen.
Green Day, "99 Revolutionen"
So gut wie alle Computer, die in den letzten Jahren verkauft wurden - sogar viele Telefone - sind Multicore-Computer. Wenn du dies auf einem Computer mit Tastatur und Monitor liest, kannst du vielleicht herausfinden, wie viele Kerne dein Computer hat:
-
Linux:
grep cores /proc/cpuinfo
-
Mac:
sysctl hw.logicalcpu
-
Cygwin:
env | grep NUMBER_OF_PROCESSORS
Ein Programm mit nur einem Thread nutzt die Ressourcen, die uns die Hardwarehersteller zur Verfügung gestellt haben, nicht vollständig aus. Zum Glück braucht es nicht viel, um ein Programm in ein Programm mit parallelen Threads zu verwandeln - oft reicht sogar eine zusätzliche Codezeile. In diesem Kapitel werde ich Folgendes behandeln:
-
Ein kurzer Überblick über die verschiedenen Standards und Spezifikationen, die für das Schreiben von nebenläufigem C-Code existieren
-
Die eine Codezeile mit OpenMP, die deine
for
Schleifen multithreadingfähig macht -
Hinweise zu den Compiler-Flags, die du brauchst, um mit OpenMP oder pthreads zu kompilieren
-
Einige Überlegungen dazu, wann es sicher ist, diese eine magische Zeile zu verwenden
-
Implementierung von map-reduce, was die Erweiterung dieser einen Zeile um eine weitere Klausel erfordert
-
Die Syntax für die parallele Ausführung einer Handvoll verschiedener ...
Get 21st Century C, 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.