Compartilhar via


Classe task_group

A classe de task_group representa uma coleção de trabalho paralelo que pode ser esperada sobre ou cancelado.

class task_group;

Membros

Construtores Públicos

Nome

Descrição

Construtor task_group::task_group

Sobrecarregado. Cria um novo objeto de task_group .

Destruidor task_group::~task_group

Destrói um objeto de task_group . Você deve chamar wait ou o método de run_and_wait do objeto antes de destruidor que é executada, a menos que o destruidor esteja sendo executado como o resultado da pilha que desenrola devido a uma exceção.

Métodos Públicos

Nome

Descrição

Método task_group::cancel

Faz uma melhor tentativa de busca de cancelar a subárvore de trabalho enraizada neste grupo de trabalho. Cada tarefa agendada no grupo de trabalho será cancelado transitiva se possível.

Método task_group::is_canceling

Informa o chamador se o grupo de trabalho é atualmente no meio do cancelamento. Isso não indica necessariamente que o método de cancel esteve chamado no objeto de task_group (embora essa qualifica realmente esse método para retornar true). Pode ter os casos que o objeto de task_group é executar embutido e um grupo de trabalho para cima na árvore de trabalho foi cancelado mais. Em casos como esses quando o tempo de execução pode determinar antecipadamente que o cancelamento correrá por esse objeto de task_group , true será retornado também.

Método task_group::run

Sobrecarregado. Agenda uma tarefa no objeto de task_group . Se um objeto de task_handle é passado como um parâmetro a run, o chamador é responsável por gerenciar o tempo de vida do objeto de task_handle . A versão do método que usa uma referência a um objeto de função como um parâmetro envolve a alocação do heap no tempo de execução que pode ser executado bem menor do que usar a versão que usa uma referência a um objeto de task_handle . A versão que usa o parâmetro _Placement faz a tarefa ser removido para executar no local especificado pelo parâmetro.

Método task_group::run_and_wait

Sobrecarregado. Agenda uma tarefa ser embutidos executado no contexto da chamada de com a ajuda do objeto de task_group para suporte completo de cancelamento. A função em espera até que todo o trabalho no objeto de task_group seja concluída ou cancele. Se um objeto de task_handle é passado como um parâmetro a run_and_wait, o chamador é responsável por gerenciar o tempo de vida do objeto de task_handle .

Método task_group::wait

Espera até que todo o trabalho no objeto de task_group seja concluída ou cancele.

Comentários

Ao contrário da classe com grandes restrita de structured_task_group , a classe de task_group é uma construção muito mais geral. Não tem algumas restrições descritas por structured_task_group. os objetos detask_group com segurança podem ser usados pelos threads e ser utilizados em modos de forma livre. A desvantagem de compilação de task_group é que o não pode executar tão bem quanto a construção de structured_task_group para as tarefas que executam pequenas quantidades de trabalho.

Para obter mais informações, consulte Paralelismo de tarefa (tempo de execução de simultaneidade).

Hierarquia de Herança

task_group

Requisitos

Cabeçalho: ppl.h

Namespace: simultaneidade

Consulte também

Referência

Namespace Concurrency

Classe structured_task_group

Classe task_handle