Partilhar via


task_continuation_context Classe

A task_continuation_context classe permite especificar onde gostaria que uma continuação fosse executada. Só é útil usar esta classe a partir de uma aplicação de Runtime para Windows. Para aplicações de runtime que não são Windows, o contexto de execução da continuação da tarefa é determinado pelo tempo de execução e não é configurável.

Sintaxe

class task_continuation_context : public details::_ContextCallback;

Membros

Métodos Públicos

Nome Description
get_current_winrt_context Devolve um objeto de contexto de continuação de tarefas que representa o contexto atual da thread winrt.
use_arbitrary Cria um contexto de continuação de tarefas que permite ao Runtime escolher o contexto de execução para a continuação.
use_current Devolve um objeto de contexto de continuação de tarefa que representa o contexto de execução atual.
usar_padrão Cria o contexto padrão de continuação da tarefa.
use_synchronous_execution Devolve um objeto de contexto de continuação de tarefa que representa o contexto de execução síncrona.

Hierarquia de herança

_ContextCallback

task_continuation_context

Requerimentos

Cabeçalho: ppltasks.h

Namespace: simultaneidade

get_current_winrt_context

Devolve um objeto de contexto de continuação de tarefa que representa o contexto atual do thread WinRT.

Sintaxe

static task_continuation_context get_current_winrt_context();

Valor de retorno

O contexto atual do thread de execução do Windows. Devolve um task_continuation_context vazio se chamado a partir de um contexto de execução não Windows.

Observações

O get_current_winrt_context método capta o contexto do thread de execução do Windows do chamador. Devolve um contexto vazio a chamadores de runtime que não são do Windows.

O valor devolvido por get_current_winrt_context pode ser usado para indicar ao Runtime que a continuação deve ser executada no modelo de apartamento do contexto capturado (STA vs MTA), independentemente de a tarefa antecedente estar consciente do apartamento. Uma tarefa de apartment aware é uma tarefa que desfaz uma interface de Runtime IAsyncInfo do Windows, ou uma tarefa que descende dessa tarefa.

Este método é semelhante ao use_current mesmo, mas também está disponível para código nativo C++ sem suporte para extensões C++/CX. Destina-se a utilizadores avançados que escrevem código de biblioteca independente de C++/CX, tanto para chamadas nativas como para chamadas em tempo de execução Windows. A menos que precise desta funcionalidade, recomendamos o use_current método, que está disponível apenas para clientes C++/CX.

use_arbitrary

Cria um contexto de continuação de tarefas que permite ao Runtime escolher o contexto de execução para a continuação.

Sintaxe

static task_continuation_context use_arbitrary();

Valor de retorno

Um contexto de continuação de tarefa que representa uma localização arbitrária.

Observações

Quando este contexto de continuação é utilizado, a continuação executa-se num contexto escolhido pelo tempo de execução, mesmo que a tarefa antecedente esteja consciente do apartamento.

use_arbitrary pode ser usado para desativar o comportamento padrão de uma continuação numa tarefa sensível ao estado do apartamento criada numa STA.

Este método está disponível apenas para aplicações do Windows Runtime.

use_current

Devolve um objeto de contexto de continuação de tarefa que representa o contexto de execução atual.

static task_continuation_context use_current();

Valor de retorno

O contexto atual da execução.

Observações

Este método capta o contexto do Windows Runtime do chamador para que as continuações possam ser executadas no apartamento correto.

O valor devolvido por use_current pode ser usado para indicar ao Runtime que a continuação deve ser executada no contexto capturado (STA vs MTA), independentemente de a tarefa antecedente estar ou não consciente do apartamento. Uma tarefa de apartment aware é uma tarefa que desfaz uma interface de Runtime IAsyncInfo do Windows, ou uma tarefa que descende dessa tarefa.

Este método está disponível apenas para aplicações do Windows Runtime.

usar padrão

Cria o contexto padrão de continuação da tarefa.

static task_continuation_context use_default();

Valor de retorno

O contexto padrão de continuação.

Observações

O contexto padrão é usado se não especificar um contexto de continuação ao chamar o then método. Em aplicações Windows para Windows 7 e inferiores, bem como aplicações de ambiente de trabalho com Windows 8 e superiores, o tempo de execução determina onde as continuações das tarefas serão executadas. No entanto, numa aplicação Windows Runtime, o contexto de continuação padrão para uma continuação numa tarefa com reconhecimento de apartamento é o apartamento onde then é invocado.

Uma tarefa de apartment aware é uma tarefa que desfaz uma interface de Runtime IAsyncInfo do Windows, ou uma tarefa que descende dessa tarefa. Portanto, se agendares uma continuação numa tarefa ciente de apartamentos num STA do Windows Runtime, a continuação será executada nesse STA.

Continuações de uma tarefa sem consciência de apartamento serão executadas num contexto escolhido pelo Runtime.

task_continuation_context::use_synchronous_execution

Devolve um objeto de contexto de continuação de tarefa que representa o contexto de execução síncrona.

Sintaxe

static task_continuation_context use_synchronous_execution();

Valor de retorno

O contexto de execução síncrona.

Observações

O método use_synchronous_execution força a tarefa de continuação a correr de forma síncrona no contexto, resultando na conclusão da tarefa antecessora.

Se a tarefa antecedente já estiver concluída quando a continuação for anexada, a continuação é executada de forma síncrona no contexto que anexa a continuação.

Consulte também

concorrência Namespace