ich mehrere Schleifen in der gleichen Zeit mit Asynchron-Aufgabe (ich will nicht, dass die Verwendung Parallel.ForEach
)Führen Sie mehrere Aktionen in der gleichen Zeit
ich ausführen möchten: in
static async void Run()
{
await MultiTasks();
}
static async Task MultiTasks()
{
var Loop1 = Loop1Async();
var Loop2 = Loop2Async();
await Loop1;
await Loop2;
}
static async Task Loop1Async()
{
for (int i = 0; i < 500; i++)
{
Console.WriteLine("Loop 1 : " + i);
}
}
static async Task Loop2Async()
{
for (int i = 0; i < 500; i++)
{
Console.WriteLine("Loop 2 : " + i);
}
}
Run()
heißt mein Hauptmethode.
Aber die zwei Schleife wird nicht in der gleichen Zeit ausgeführt. Sobald die erste Runde abgeschlossen ist, beginnt die zweite
Warum und wie das zu tun?
Wenn "Loop1Async" und "Loop2Async" wäre eigentlich asynchron würde der Code Ergebnisse produzieren, die Sie erwarten ... Aber da beide synchronen Code einfach normal ausgeführt werden. –
@DStanley du meinst wahrscheinlich eine andere Methode, nicht 'Thread.Sleep' ... Nicht jeder weiß, dass' Task.Delay' "Schlaf" ist ... –