Heim >Backend-Entwicklung >C++ >Wie kann ich parallele asynchrone Aufgaben in .NET 4.5 effizient ausführen?
Optimierung paralleler asynchroner Vorgänge in .NET 4.5
.NET 4.5 bietet robuste asynchrone Programmierfunktionen für die gleichzeitige Ausführung mehrerer langwieriger Aufgaben. Einige anfängliche Implementierungen können jedoch übermäßig komplex erscheinen und es fehlt ihnen die Eleganz, die asynchronen Methoden innewohnt. Dieses verbesserte Beispiel behebt diese Mängel.
Erweiterte Codestruktur
Der folgende verfeinerte Code bietet einen effizienteren und optimierten Ansatz:
<code class="language-csharp">async Task GoAsync() { Console.WriteLine("Initiating Tasks"); Task<int> task1 = SleepAsync(5000); Task<int> task2 = SleepAsync(3000); await Task.WhenAll(task1, task2); int totalSleepTime = task1.Result + task2.Result; Console.WriteLine($"Total sleep time: {totalSleepTime} ms"); } private async Task<int> SleepAsync(int milliseconds) { Console.WriteLine($"Sleeping for {milliseconds} ms"); try { await Task.Delay(milliseconds); return milliseconds; } finally { Console.WriteLine($"Sleep for {milliseconds} ms COMPLETE"); } }</code>
Wichtige Verbesserungen:
GoAsync
ist jetzt eine asynchrone Methode (async Task
), die die Verwendung von await
zum Verwalten der Aufgabenerledigung ermöglicht.SleepAsync
ist eine asynchrone Methode, die Task<int>
zurückgibt und die asynchrone Natur des Vorgangs widerspiegelt.Task.WhenAll
wartet effizient auf die gleichzeitige Erledigung beider Aufgaben, wodurch die Notwendigkeit eines expliziten .Result
Zugriffs entfällt und die Leistung verbessert wird.Funktionscode:
Dieser überarbeitete Code führt beide Aufgaben gleichzeitig aus und sammelt so effektiv Ergebnisse. Diese Methode bietet eine sauberere, präzisere und effizientere Lösung für die parallele asynchrone Aufgabenausführung in .NET 4.5.
Das obige ist der detaillierte Inhalt vonWie kann ich parallele asynchrone Aufgaben in .NET 4.5 effizient ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!