Mit den async
- und await
-Schlüsselwörtern stehe ich ja von je her auf Kriegsfuß.
Aus meiner Sicht treibt Microsoft alle paar Monate eine neue Sau durchs Asynchron-Dorf.
Die jetzige empfohlene Art der asynchronen Entwicklung (also eben über async
und await
) ist inzwischen schon 4 Jahre alt und immer noch aktuell.
Zusätzlich werden auch viele neue Bibliotheken von Microsoft damit ausgestattet.
Es sieht also so aus, als ob es etwas Dauerhaftes wäre. Dementsprechen werde ich mich also nun endlich doch mal genauer damit beschäftigen müssen, ob ich es mir passt oder nicht.
Nachfolgend einige Ressourcen, die mir beim Einstieg und im Fortschritt geholfen haben.
High-Level-Übersicht
Der Artikel „Entity Framework Async Query and Save“ bietet aus meiner Sicht eine super einfache und verständliche Übersicht.
Highlight:
Async programming is primarily focused on freeing up the current managed thread (thread running .NET code) to do other work while it waits for an operation that does not require any compute time from a managed thread.
Ressourcen
- „Asynchronous Programming — Easier Asynchronous Programming with the New Visual Studio Async CTP“ — Einführung von Eric Lippert, 2011.
- „Asynchronous Programming with Async and Await“ — MSDN-Artikel, der die Grundlagen erklärt.
- „Asynchrone Programmierung in .NET 4.5 mit async und await“ — heise-Developer-Artikel mit einer Einführung zu
async
undawait
. 2013. - „Using Async and Await to update the UI Thread“
- „Async, Await, Tasks, and UI synchronization with C# 5, .NET 4.5 and WinForms“
- „If async-await doesn’t create any additional threads, then how does it make applications responsive?“ — Frage und Antworten auf Stack Overflow, 2016.
- „There Is No Thread“ — Blog-Artikel, 2013.
- AsyncBridge — NuGet-Paket um sauber Async-Methoden von synchronem Code aus aufzurufen und ohne Deadlock zu warten.
To be continued…