Junior — Middle
Erklären Sie das Funktionsprinzip der Asynchronität in Koroutinen und wie sie implementiert ist
sobes.tech KI
Antwort von AI
Asynchronität in C#-Koroutinen wird durch die Schlüsselwörter async und await realisiert, die es ermöglichen, asynchronen Code zu schreiben, der synchronem Code ähnelt, ohne Threads zu blockieren.
Funktionsprinzip:
- Eine als
asyncgekennzeichnete Methode kann den Operatorawaitenthalten, der die Ausführung der Methode bis zum Abschluss der asynchronen Operation pausiert. - Währenddessen wird der aktuelle Thread nicht blockiert, sondern die Kontrolle an den aufrufenden Code zurückgegeben.
- Nach Abschluss der Operation setzt die Methode die Ausführung an der Stelle des
awaitfort.
Beispiel:
public async Task<string> GetDataAsync()
{
// Asynchron auf den Abschluss der Operation warten
string result = await SomeLongRunningOperationAsync();
return result;
}
Auf diese Weise ermöglichen Koroutinen eine effiziente Ressourcennutzung, ohne Threads während der Wartezeit zu blockieren.