Kapitel 17. Asynchrone Spracheigenschaften

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

C# bietet auf Sprachebene Unterstützung für die Verwendung und Implementierung asynchroner Methoden. Asynchrone APIs sind oft der effizienteste Weg, um bestimmte Dienste zu nutzen. Zum Beispiel werden die meisten Ein- und Ausgaben innerhalb des Betriebssystemkerns asynchron abgewickelt, weil die meisten Peripheriegeräte wie Festplattencontroller oder Netzwerkadapter den Großteil ihrer Arbeit selbstständig erledigen können. Sie brauchen die CPU nur zu Beginn und am Ende jeder Operation.

Obwohl viele der von Betriebssystemen angebotenen Dienste von Natur aus asynchron sind, entscheiden sich Entwickler oft dafür, sie über synchrone APIs zu nutzen (d. h. solche, die erst zurückkehren, wenn die Arbeit abgeschlossen ist). Das kann Ressourcen verschwenden, weil sie den Thread blockieren, bis die E/A abgeschlossen ist. Threads haben Overhead und wenn du die beste Leistung in einer hochgradig gleichzeitigen Anwendung erzielen willst (z. B. eine Webanwendung, die eine große Anzahl von Nutzern bedient), ist es in der Regel am besten, eine relativ kleine Anzahl von OS-Threads zu haben. Im Idealfall hat deine Anwendung nicht mehr OS-Threads als du Hardware-Threads hast, aber das ist nur dann optimal, wenn du sicherstellen kannst, dass Threads nur dann blockieren, wenn sie keine offene Arbeit zu erledigen haben.(In Kapitel ...

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.