Compartilhar via


Task.Yield Método

Definição

Cria uma tarefa que é possível aguardar que retorna assincronamente para o contexto atual quando aguardada.

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

Retornos

YieldAwaitable

Um contexto que, quando aguardado, fará a transição de maneira assíncrona de volta ao contexto atual ao aguardar. Se o SynchronizationContext atual não for nulo, ele será tratado como o contexto atual. Caso contrário, o Agendador de Tarefas associado à tarefa em execução no momento será tratado como o contexto atual.

Comentários

Você pode usar await Task.Yield(); em um método assíncrono para forçar o método a ser concluído de forma assíncrona. Se houver um contexto de sincronização atual (SynchronizationContext objeto), isso postará o restante da execução do método de volta para esse contexto. No entanto, o contexto decidirá como priorizar esse trabalho em relação a outros trabalhos que podem estar pendentes. O contexto de sincronização que está presente em um thread de interface do usuário na maioria dos ambientes de interface do usuário geralmente priorizará o trabalho postado no contexto maior do que o trabalho de entrada e renderização. Por esse motivo, não confie em await Task.Yield(); manter uma interface do usuário responsiva. Para obter mais informações, consulte a entrada Abstrações úteis habilitadas com ContinueWith na Programação Paralela com o blog .NET.

Aplica-se a