task.waitall () und task.whenall () Unterschiede
Bei der Behandlung asynchroner Aufgaben ist die Unterscheidung
und sehr wichtig, was in direktem Zusammenhang mit der effektiven Behandlung von Gleichzeitigkeit und Thread -Nutzung steht. Task.WaitAll()
Task.WhenAll()
task.waitall (): Ausführung blockieren
blockiert den aktuellen Thread, bis alle Aufgaben im Array oder die Sammlung abgeschlossen sind. Wenn die Aufgabe lange lang lange dauert, kann dies zu Leistungsproblemen führen, da Threads während des gesamten Prozesses einen Berufszustand aufrechterhalten.
task.whenall (): Nicht -blockierende Ausführung Task.WaitAll()
<code class="language-csharp">Task[] tasks = { task1, task2, task3 }; Task.WaitAll(tasks); // 阻塞当前线程</code>
Verwenden Sie , Sie können es vermeiden, den aktuellen Thread zu blockieren, und gleichzeitig können Sie immer noch sicherstellen, dass alle Aufgaben abgeschlossen sind. Für den Follow -up -Inhalt muss die Zahlung angezeigt werden.
Das obige ist der detaillierte Inhalt vonTask.WaitAll() vs. Task.WhenAll(): Wann sollten Sie beide verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!