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 Parallelverarbeitungsfä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 ins Stocken gerät, 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 ausgeführt werden kann, erlauben es, dass jeder Prozess mehrere Threads enthält ...

Get Programmierung C# 10 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.