Sobes.tech
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 async gekennzeichnete Methode kann den Operator await enthalten, 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 await fort.

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.