Episode
Six Essential Tipps for Async - Einführung
Asynchrone Programmierung umfasst einige neue Konzepte. Sie sind nicht schwierig, nur ungewohnt. Im vergangenen Jahr beobachtet Lucian Wischik , wie menschen async/await in C# und VB verwenden. In dieser Reihe werden die drei wichtigsten asynchronen Muster und Antimuster sowie die drei wichtigsten Tipps zum Schreiben eigener asynchroner Bibliotheken erläutert.
Tipps:
- Async void ist nur für Ereignishandler auf oberster Ebene und ereignisähnliche Elemente. Verwenden Sie sie nicht an anderer Stelle in Ihrem Code.
- Es ist wichtig, CPU-gebundene Arbeit (sollte auf Threadpool ausgeführt werden) von E/A-gebundener Arbeit (die nicht erforderlich ist) zu unterscheiden.
- Sie können Ereignisse in Aufgabenrückgabe-APIs umschließen und darauf warten. Dies kann Code erheblich vereinfachen.
- Async library methods shouldn't lie: they shouldn't use Task.Run intern in secret, and should expose an async signature if and only if their implementation is asynchron
- Async-Bibliotheksmethoden sollten über asynchrone APIs verfügen, die nicht chatty sind. Aber wenn Chatty unvermeidbar ist, wissen Sie über diese Mikrooptimierungen, um Heap-Zuordnungsaufwand zu reduzieren.
- Asynchrone Bibliotheksmethoden sollten die Aufgabe in Betracht ziehen. ConfigureAwait(false), um ihre Auswirkungen auf die UI-Nachrichtenwarteschlange zu verringern.
Wenn Sie den grundlegenden Steuerungsfluss in einer asynchronen Methode verstehen, fallen diese drei Punkte natürlich ins Spiel. In diesem ersten Einführungsvideo wird erläutert, dass der Steuerungsfluss.
Folien und Quellcode sind im Blog von Lucian verfügbar.
Asynchrone Programmierung umfasst einige neue Konzepte. Sie sind nicht schwierig, nur ungewohnt. Im vergangenen Jahr beobachtet Lucian Wischik , wie menschen async/await in C# und VB verwenden. In dieser Reihe werden die drei wichtigsten asynchronen Muster und Antimuster sowie die drei wichtigsten Tipps zum Schreiben eigener asynchroner Bibliotheken erläutert.
Tipps:
- Async void ist nur für Ereignishandler auf oberster Ebene und ereignisähnliche Elemente. Verwenden Sie sie nicht an anderer Stelle in Ihrem Code.
- Es ist wichtig, CPU-gebundene Arbeit (sollte auf Threadpool ausgeführt werden) von E/A-gebundener Arbeit (die nicht erforderlich ist) zu unterscheiden.
- Sie können Ereignisse in Aufgabenrückgabe-APIs umschließen und darauf warten. Dies kann Code erheblich vereinfachen.
- Async library methods shouldn't lie: they shouldn't use Task.Run intern in secret, and should expose an async signature if and only if their implementation is asynchron
- Async-Bibliotheksmethoden sollten über asynchrone APIs verfügen, die nicht chatty sind. Aber wenn Chatty unvermeidbar ist, wissen Sie über diese Mikrooptimierungen, um Heap-Zuordnungsaufwand zu reduzieren.
- Asynchrone Bibliotheksmethoden sollten die Aufgabe in Betracht ziehen. ConfigureAwait(false), um ihre Auswirkungen auf die UI-Nachrichtenwarteschlange zu verringern.
Wenn Sie den grundlegenden Steuerungsfluss in einer asynchronen Methode verstehen, fallen diese drei Punkte natürlich ins Spiel. In diesem ersten Einführungsvideo wird erläutert, dass der Steuerungsfluss.
Folien und Quellcode sind im Blog von Lucian verfügbar.
Feedback? Melden Sie hier ein Problem.