Task.Yield Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy oczekujące zadanie, które asynchronicznie zwraca bieżący kontekst w oczekiwanym czasie.
public:
static System::Runtime::CompilerServices::YieldAwaitable Yield();
public static System.Runtime.CompilerServices.YieldAwaitable Yield();
static member Yield : unit -> System.Runtime.CompilerServices.YieldAwaitable
Public Shared Function Yield () As YieldAwaitable
Zwraca
Kontekst, który w oczekiwanym czasie będzie asynchronicznie przechodził z powrotem do bieżącego kontekstu w czasie oczekiwania. Jeśli bieżący SynchronizationContext jest inny niż null, jest traktowany jako bieżący kontekst. W przeciwnym razie harmonogram zadań skojarzony z aktualnie wykonywanym zadaniem jest traktowany jako bieżący kontekst.
Uwagi
Możesz użyć await Task.Yield(); metody asynchronicznej, aby wymusić asynchroniczne wykonanie metody. Jeśli istnieje bieżący kontekst synchronizacji (SynchronizationContext obiekt), spowoduje to opublikowanie pozostałej części wykonania metody z powrotem do tego kontekstu. Jednak kontekst zdecyduje, jak określić priorytety tej pracy względem innej pracy, która może być oczekująca. Kontekst synchronizacji, który znajduje się w wątku interfejsu użytkownika w większości środowisk interfejsu użytkownika, często określa priorytety pracy opublikowanej w kontekście wyższym niż praca wejściowa i renderowania. Z tego powodu nie polegaj na await Task.Yield(); zachowaniu odpowiedzi interfejsu użytkownika. Aby uzyskać więcej informacji, zobacz wpis Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog (Programowanie równoległe z .NET blogiem).