Task.Yield Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria uma tarefa aguardada que retorna de forma assíncrona ao 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
Um contexto que, quando aguardado, fará a transição assíncrona de volta para o contexto atual no momento da espera. Se a corrente SynchronizationContext não for nula, ela será tratada como o contexto atual. Caso contrário, o agendador de tarefas associado à tarefa em execução no momento é 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 superior ao 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 Useful Abstractions Enabled with ContinueWith in the Parallel Programming with .NET blog.