Kapitel 16. Multithreading
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Multithreading ermöglicht es einer Anwendung, mehrere Teile des Codes gleichzeitig auszuführen. Es gibt zwei häufige Gründe für diese Vorgehensweise. Der eine ist, die parallelen Verarbeitungsfähigkeiten des Computers auszunutzen - Multi-Core-CPUs sind heute mehr oder weniger allgegenwärtig, und um ihr volles Leistungspotenzial auszuschöpfen, musst du die CPU mit mehreren Arbeitsströmen versorgen, damit alle Kerne etwas Sinnvolles zu tun haben. Der andere Grund, warum du normalerweise Multithreading-Code schreibst, ist, dass du verhindern willst, dass der Fortschritt zum Stillstand kommt, wenn du etwas Langsames tust, wie z. B. das Lesen von der Festplatte.
Multithreading ist nicht die einzige Möglichkeit, das zweite Problem zu lösen - asynchrone Techniken können vorzuziehen sein. C# hat Funktionen zur Unterstützung asynchroner Arbeit. Asynchrone Ausführung bedeutet nicht unbedingt Multithreading, aber in der Praxis sind die beiden oft miteinander verbunden, und ich werde in diesem Kapitel einige asynchrone Programmiermodelle beschreiben. Der Schwerpunkt dieses Kapitels liegt jedoch auf den Grundlagen des Threading. Die Unterstützung von asynchronem Code auf Sprachebene werde ich in Kapitel 17 beschreiben.
Themen
Alle Betriebssysteme, auf denen .NET laufen kann, erlauben es jedem Prozess, mehrere Threads zu enthalten. ...
Get C# 8.0 programmieren 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.