Heim >Backend-Entwicklung >C++ >Warte auf Task.run (); zurückkehren; vs. return task.run (): Was ist der entscheidende Unterschied in der asynchronen Programmierung?
und in der asynchronen Programmierung await Task.Run(); return;
return Task.Run();
In der asynchronen Programmierung ist es sehr wichtig, den Unterschied zwischen
zu verstehen. Obwohl diese beiden Strukturen ähnlich aussehen, ist ihr Verhalten im Wesentlichen unterschiedlich: await Task.Run();
return Task.Run();
Entsorgung:
Ein signifikanter Unterschied besteht darin, dass eine abnormale Verbreitung. Die in der asynchronen -Methode geworfenen Anomalien werden im zurückgegebenen
-Objekt gespeichert, und der Zustand wird beobachtet, bevor die Aufgabe beobachtet wird. Stattdessen wird in der nicht -exotischen -Methode jede Werfenabnormalität sofort auf demselben Faden ausgelöst, was das Erfassen erleichtert.
Task
synchroner Kontextwahrnehmung: Task
Task
Die Möglichkeit einer toten Schloss:
In einigen Fällen kann das Aufrufen von Task
im UI -Thread zu einem Deadlock führen. Dies liegt daran, dass der Thread blockiert ist und darauf wartet, dass await
vervollständigt wird, wodurch die Aktualisierung der Benutzeroberfläche effektiv verhindert wird. Task
Vermeiden Sie dieses Problem, indem Sie Aufgaben ausführen.
Codedifferenz:
und generierten Code. Ersteres erzeugt einen asynchronen Zustand, während letzteres ein await Task.Run()
Objekt erstellt. Durch die asynchrone Zustandsmaschine können die Methoden nach Abschluss der Aufgabe hängen und wiederherstellen. Task
Kurz gesagt, obwohl und return Task.Run()
Ähnlichkeiten in der Grammatik haben, sind ihre Verhaltensunterschiede signifikant. Betrachten Sie bei der Wahl zwischen den beiden die Möglichkeit einer abnormalen Verbreitung, der synchronen Kontextwahrnehmung und der Sackgasse.
Das obige ist der detaillierte Inhalt vonWarte auf Task.run (); zurückkehren; vs. return task.run (): Was ist der entscheidende Unterschied in der asynchronen Programmierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!