Namespace Concurrency
O namespace Concurrency fornece classes e funções que permitem acesso ao Runtime de simultaneidade, uma estrutura de programação simultânea para C++. Para obter mais informações, consulte Tempo de Execução de Simultaneidade.
namespace concurrency;
Membros
Namespaces
Nome |
Descrição |
---|---|
concurrency::extensibility Namespace |
Typedefs
Nome |
Descrição |
---|---|
runtime_object_identity |
Cada instância de mensagem tem uma identidade que o siga ao ser clonado e passados entre os componentes da mensagem. Isso não seja o endereço do objeto de mensagem. |
task_status |
Um tipo que representa o estado terminal uma tarefa. Os valores válidos são completed e canceled. |
TaskProc |
Uma abstração elementar para uma tarefa, definida como void (__cdecl * TaskProc)(void *). TaskProc é chamado para invocar o corpo de uma tarefa. |
TaskProc_t |
Uma abstração elementar para uma tarefa, definida como void (__cdecl * TaskProc_t)(void *). TaskProc é chamado para invocar o corpo de uma tarefa. |
Classes
Nome |
Descrição |
---|---|
A classe de affinity_partitioner é semelhante à classe de static_partitioner , mas aumenta a afinidade do cache pela escolha de subintervalos de mapeamento a threads de trabalho. Pode melhorar o desempenho significativamente quando um loop é executado no mesmo conjunto de dados, e os ajustes de dados no cache. Observe que o mesmo objeto de affinity_partitioner deve ser usado com iterações subsequentes de um loop paralelo que é executado em um conjunto de dados específico, o benefício da localidade de dados. |
|
Uma classe pretendeu ser usada como uma classe base para todos os agentes independentes. É usado para ocultar o estado de outros agentes e interagir com mensagem- passagem. |
|
A classe de auto_partitioner representa o método padrão parallel_for, parallel_for_each e uso de parallel_transform dividir o intervalo a iteração por. Este método de intervalo de employes de particionamento que rouba para o balanceamento de carga bem como itera pelo cancelamento. |
|
Essa classe descreve uma exceção lançada quando um bloco de mensagem recebe um ponteiro para um destino que não é válido para a operação que está sendo executada. |
|
Um bloco da mensagem de call é uma origem, várias target_block ordenado que invoca uma função especificada ao receber uma mensagem. |
|
A classe de cancellation_token representa a capacidade para determinar se qualquer operação teve solicitação de cancelamento. Um token determinado pode ser associado com um task_group, structured_task_group, ou task para fornecer cancelamento implícito. Também pode ser pesquisado para cancelamento ou ter um retorno de chamada registrado para se e quando o cancellation_token_source associado for cancelado. |
|
A classe de cancellation_token_registration representa uma notificação de retorno de chamada de cancellation_token. Quando o método de register em um cancellation_token é usado para receber a notificação quando o cancelamento ocorre, um objeto de cancellation_token_registration é retornado como um manipulador ao retorno de chamada para que o chamador possa solicitar que um retorno de chamada específica não seja mais feito usando o método de deregister. |
|
A classe de cancellation_token_source representa a capacidade para cancelar qualquer operação anulável. |
|
Um bloco da mensagem de choice várias é uma origem, o bloco de um único destino que representa uma interação de fluxo de controle com um conjunto de fontes. O bloco bem escolhido aguardará qualquer de várias fontes para gerar uma mensagem e propagará o índice de origem que gerou a mensagem. |
|
O objeto de combinable<T> é destinado fornecer cópias de privadas dos dados, para executar computações subelemento lock-partition-id> livres de thread local durante algoritmos paralelos. No final da operação paralela, as computações um thread privadas podem ser mescladas em um resultado final. Esta classe pode ser usada em vez de uma variável compartilhado, e pode levar a uma melhoria de desempenho se haveria de outra forma muita contenção em que a variável compartilhado. |
|
A classe de concurrent_priority_queue é um contêiner que permite que vários threads simultaneamente empurrem e itens aparecem. Os itens são aparecidos em ordem de prioridade em que a prioridade é determinada por um funtor fornecido como um argumento do modelo. |
|
A classe de concurrent_queue é uma classe do contêiner da sequência em que permite (primeiro a entrar, out acesso a seus elementos. Permite que um conjunto limitado de operações simultaneidade- seguras, como push e try_pop. |
|
A classe de concurrent_unordered_map é um contêiner protegido contra simultaneidade que controla uma sequência de variação dos elementos de tipo std::pair<const _Key_type, _Element_type>. A sequência é representada em uma forma que permite acréscimo protegido contra simultaneidade, acesso de elemento, acesso de iterador, e operações de passagem de iterador. |
|
A classe concurrent_unordered_multimap é um contêiner protegido contra simultaneidade que controla uma sequência de comprimento variado de elementos do tipo std::pair<const _Key_type, _Element_type>. A sequência é representada em uma forma que permite acréscimo protegido contra simultaneidade, acesso de elemento, acesso de iterador e operações de passagem de iterador. |
|
A classe concurrent_unordered_multiset é um contêiner protegido contra simultaneidade que controla uma sequência de comprimento variado de elementos do tipo _Key_type. A sequência é representada em uma forma que permite acréscimo protegido contra simultaneidade, acesso de elemento, acesso de iterador e operações de passagem de iterador. |
|
A classe concurrent_unordered_set é um contêiner protegido contra simultaneidade que controla uma sequência de comprimento variado de elementos do tipo _Key_type. A sequência é representada em uma forma que permite acréscimo protegido contra simultaneidade, acesso de elemento, acesso de iterador e operações de passagem de iterador. |
|
A classe de concurrent_vector é uma classe do contêiner de sequência que permite de acesso aleatório a qualquer elemento. Habilita simultaneidade- seguro, anexa acesso do elemento, o acesso de iterador, e operações de passagem do iterador. |
|
Representa uma abstração para um contexto de execução. |
|
Essa classe descreve uma exceção gerada quando o método de Unblock de um objeto de Context é chamado do mesmo contexto. Isso indicaria uma tentativa por um determinado contexto de desbloquear-se. |
|
Essa classe descreve uma exceção lançada quando as chamadas para os métodos de Block e de Unblock de um objeto de Context não emparelhados são corretamente. |
|
Um mutex não reentrante que seja explicitamente ciente de tempo de execução de simultaneidade. |
|
Representa uma abstração para o agendador associado atual com o contexto de chamada. |
|
Essa classe descreve uma exceção gerada quando o método de Scheduler::SetDefaultSchedulerPolicy é chamado quando um agendador padrão já existe no processo. |
|
Um evento manual de redefinição que esteja explicitamente ciente do tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção lançada quando um bloqueio é adquirido de forma incorreta. |
|
Essa classe descreve uma exceção gerada quando o método de Attach é chamado em um objeto de Scheduler que seja anexado no contexto atual. |
|
Essa classe descreve uma exceção gerada quando o método de CurrentScheduler::Detach é chamado de um contexto que não está anexado a um agendador que usa o método de Attach de um objeto de Scheduler . |
|
Essa classe descreve uma exceção gerada quando o método é chamado de Reference um objeto de Scheduler que está fechando, de um contexto que não faça parte desse agendador. |
|
Essa classe descreve uma exceção gerada quando o método de link_target de um bloco da mensagem é chamado e o bloco da mensagem é incapaz de vincular ao destino. Esse pode ser o resultado de exceder o número de links que o bloco da mensagem é permitido ou tentativa de vincular duas vezes em um destino específico para a mesma origem. |
|
Essa classe descreve uma exceção gerada quando um objeto de task_handle é agendado várias vezes usando o método de run de um objeto de task_group ou de structured_task_group sem uma chamada de intervenção os métodos de wait ou de run_and_wait . |
|
Essa classe descreve uma exceção acionada quando é executado uma operação inválida que não é mais descrita com exatidão por outro tipo de exceção lançado pelo tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção gerada quando o método de Context::Oversubscribe for chamado com o parâmetro de _BeginOversubscription definido como false sem uma chamada anterior ao método de Context::Oversubscribe com o parâmetro de _BeginOversubscription definido como true. |
|
Essa classe descreve uma exceção gerada quando uma chave inválida ou desconhecida é passado a um construtor do objeto de SchedulerPolicy , ou o método de SetPolicyValue de um objeto de SchedulerPolicy é passado a uma chave que deve ser modificada usando outros meios como o método de SetConcurrencyLimits . |
|
Essa classe descreve uma exceção gerada quando é realizada uma tentativa de definir os limites de simultaneidade de um objeto de SchedulerPolicy de modo que o valor da chave de MinConcurrency for menor que o valor da chave de MaxConcurrency . |
|
Essa classe descreve uma exceção gerada quando uma chave de política de um objeto de SchedulerPolicy é definida como um valor inválido para essa chave. |
|
A classe de ISource é a interface para todos os blocos de origem. Mensagens de propagação blocos de origem nos blocos de ITarget . |
|
A classe de ITarget é a interface para todos os blocos de destino. Os blocos de destino consomem as mensagens são oferecidas a elas por blocos de ISource . |
|
Um bloco da mensagem de join é um único destino, a várias origem, propagator_block ordenado que combina junto mensagens do tipo _Type de cada uma de suas fontes. |
|
Uma abstração de uma localização física em hardware. |
|
O envelope básico de mensagem que contém a carga de dados que está sendo passada entre blocos da mensagem. |
|
Essa classe descreve uma exceção lançada quando um bloco de mensagem não conseguir localizar uma mensagem solicitada. |
|
A classe de message_processor é a classe base abstrata para processamento de objetos de message . Não há nenhuma garantia na ordem das mensagens. |
|
Essa classe descreve uma exceção gerada quando há ainda tarefas agendadas para um objeto de task_group ou de structured_task_group no momento em que o destruidor do objeto seja executado. Essa exceção será gerada se o destruidor nunca é atingido devido a uma pilha que desenrola como resultado de uma exceção. |
|
O objeto de multi_link_registry é network_link_registry que gerencia vários blocos de origem ou vários blocos de destino. |
|
Um bloco da mensagem de multitype_join várias é uma origem, o bloco da mensagem de um único destino que combina junto mensagens de diferentes tipos de cada uma de suas fontes e oferece uma tupla de mensagens combinada aos destinos. |
|
Essa classe descreve uma exceção gerada quando o tempo de execução de simultaneidade detectar que você negligenciou chamar o método de CurrentScheduler::Detach em um contexto que anexa a um segundo agendador que usa o método de Attach do objeto de Scheduler . |
|
A classe base do sumário de network_link_registry gerencia os links entre a origem e os blocos de destino. |
|
Essa classe descreve uma exceção gerada quando uma operação foi atingido. |
|
ordered_message_processor é message_processor que permite que os blocos de mensagem processar mensagens na ordem em que foram recebidas. |
|
Um bloco da mensagem de overwrite_buffer é uma para mais idiomas de destino, várias origem, propagator_block ordenado capaz de armazenar uma única mensagem por vez. As novas mensagens substituem tinham anteriormente. |
|
A classe de repórter de progresso permite relatar notificações de progresso de um tipo específico. Cada objeto progress_reporter é associado a uma ação ou a uma operação assíncrona específica. |
|
A classe de propagator_block é uma classe base abstrata para os blocos de mensagem que é uma origem e destino. Combina a funcionalidade das classes de source_block e de target_block . |
|
Uma gravador- preferência fila- baseado no bloqueio de leitor/gravador com o local que gerencia somente. O bloqueio concede o primeiro em - o primeiro out (FIFO) de acesso aos gravadores e morre de fome leitores com uma carga contínua de gravadores. |
|
Representa uma abstração para um grupo de agendas. Os grupos de agendas organizam um conjunto de trabalhos relacionados que se beneficiam de ser agendados em datas próximas temporariamente, executando outra tarefa no mesmo grupo antes de passar para outro grupo ou espaçadamente, executando vários itens dentro do mesmo grupo no mesmo nó NUMA ou soquete físico. |
|
Representa uma abstração para um agendador de tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção gerada quando uma operação é executada que requer um agendador ser anexado ao contexto atual e um não é. |
|
Essa classe descreve uma exceção lançada por causa de uma falha adquirir um recurso crítico no tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção lançada por causa de uma falha ao criar um contexto de trabalho do em tempo de execução de simultaneidade. |
|
A classe SchedulerPolicy contém um conjunto de pares de chave/valor, um para cada elemento de política, que controlam o comportamento de uma instância do agendador. |
|
A classe de simple_partitioner representa um particionamento estático do intervalo iterada sobre por parallel_for. O partitioner divide o intervalo em partes de modo que cada parte tem pelo menos o número de iterações especificadas pelo tamanho da parte. |
|
Um bloco da mensagem de single_assignment é uma para mais idiomas de destino, várias origem, propagator_block ordenado capaz de armazenar um único para gravação, uma vez que message. |
|
O objeto de single_link_registry é network_link_registry que gerencia o bloco apenas um único de origem ou de destino. |
|
A classe de source_block é uma classe base abstrata para blocos de origem somente. A classe fornece verificações básicas da funcionalidade de gerenciamento de link bem como de erro comum. |
|
O objeto de source_link_manager gerencia os links de rede do bloco de mensagem aos blocos de ISource . |
|
A classe de static_partitioner representa um particionamento estático do intervalo iterada sobre por parallel_for. O partitioner divide o intervalo em tantas partes como há trabalhadores disponíveis para o agendador do underyling. |
|
A classe representa uma coleção de structured_task_group altamente estruturados de trabalho paralelo. Você pode enfileirar de tarefas paralelas individuais em structured_task_group usando objetos de task_handle , e espera-os para ser concluído, ou cancelá-lo o grupo de trabalho antes que seja executada, que anulará todas as tarefas que não começa a execução. |
|
A classe de target_block é uma classe base abstrata que fornece a funcionalidade básica de gerenciamento do link e os erros que verifica o destino bloqueem somente. |
|
A classe da Biblioteca de Padrões Paralela (PPL) task. Um objeto task representa o trabalho que pode ser executado de forma assíncrona, simultaneamente com outras tarefas e trabalhos paralelos produzidos por algoritmos paralelos em tempo de execução de simultaneidade. Gera um resultado do tipo _ResultType na conclusão com êxito. As tarefas de tipo task<void> não produzem resultados. Uma tarefa pode ser esperada e cancelada independentemente de outras tarefas. Também pode ser composto por outras tarefas usando padrões de continuações(then) e de união(when_all) e de escolha(when_any). |
|
Essa classe descreve uma exceção acionada pela camada de tarefas de PPL para forçar o cancelamento da tarefa atual. Também será lançada pelo método get() em tarefa, para uma tarefa cancelada. |
|
A classe task_completion_event permite que você atrase a execução de uma tarefa até que uma condição seja satisfeita, ou inicie uma tarefa em resposta a um evento externo. |
|
A classe task_continuation_context permite que você especifique onde deseja que uma continuação seja executada. Só será útil usar esta classe de um aplicativo da Windows Store. Para aplicativos que não são da Windows Store, o contexto de execução da continuação da tarefa é determinado pelo tempo de execução e não é configurável. |
|
A classe de task_group representa uma coleção de trabalho paralelo que pode ser esperada sobre ou cancelado. |
|
A classe de task_handle representa um item de trabalho paralelo individual. Encapsula as instruções e os dados necessários para executar um bico de trabalho. |
|
Representa as opções permitidas para criar uma tarefa |
|
Um bloco da mensagem de timer é um único destino source_block capaz de enviar uma mensagem ao destino depois que um intervalo especificado de tempo decorrido ou em intervalos específicos. |
|
Um bloco da mensagem de transformer é um único destino, várias origem, propagator_block ordenado que podem aceitar mensagens de um tipo e é capaz de armazenar um número ilimitado de mensagens de um tipo diferente. |
|
Um bloco da mensagem de unbounded_buffer é uma para mais idiomas de destino, várias origem, propagator_block ordenado capaz de armazenar um número ilimitado de mensagens. |
|
Essa classe descreve uma exceção acionada quando um sistema operacional sem suporte é usado. |
Estruturas
Nome |
Descrição |
---|---|
A estrutura de DispatchState é usada para transferir o estado para o método de IExecutionContext::Dispatch . Descreve as condições sob as quais o método de Dispatch é invocado em uma interface de IExecutionContext . |
|
Uma interface para um contexto de execução que possa ser executado em um processador virtual pode ser alternado e cooperativa contexto. |
|
Uma abstração para um thread de hardware. |
|
Uma interface para o Gerenciador de Recursos de tempo de execução de simultaneidade. Esta é a interface pelos agendadores que se comunicam com o Gerenciador de Recursos. |
|
Uma interface para uma abstração de um agendador de trabalho. O Gerenciador de Recursos de tempo de execução de simultaneidade usa essa interface para se comunicar com os agendadores de trabalho. |
|
A interface pelos agendadores que se comunicam com o Gerenciador de Recursos de tempo de execução de simultaneidade para negociar a atribuição de recursos. |
|
Uma abstração para um thread de execução. Dependendo da chave da política de SchedulerType do agendador você cria, o Gerenciador de Recursos conceder-lhe-á um proxy do thread que é voltado por um thread normal do Win32 ou por um thread schedulable (UMS) do modo de usuário. Os threads UMS têm suporte em sistemas operacionais de 64 bits com o Windows 7 e versão posterior. |
|
Uma interface para um recurso de execução conforme definido pelo Gerenciador de Recursos. |
|
Uma interface para um nó da topologia conforme definido pelo Gerenciador de Recursos. Um nó contém um ou mais recursos de execução. |
|
Representa uma lista de conclusão UMS. Quando os blocos UMS thread, o agendador designado contexto está agendando despachados para tomar uma decisão de agendamento na raiz virtual subjacente do processador quando o thread original estiver bloqueado. Quando o thread original desbloqueia, o sistema operacional enfileira-o à lista de conclusão que é acessível através dessa interface. O agendador poderá ver a lista de conclusão no contexto de agendamento designado ou em qualquer outro local que pesquisa por trabalho. |
|
Uma interface para uma abstração de um agendador de trabalho que deseja o Gerenciador de Recursos de tempo de execução de simultaneidade para se entregar o modo de usuário (UMS) schedulable thread. O Gerenciador de Recursos usa essa interface para se comunicar com os agendadores de thread UMS. A interface de IUMSScheduler herda da interface de IScheduler . |
|
Uma abstração para um thread de execução. Se você deseja que o agendador para ser concedido threads schedulable (UMS) de modo de usuário, defina o valor do elemento SchedulerKind de política do agendador a UmsThreadDefault, e implementa a interface de IUMSScheduler . Os threads UMS só têm suporte em sistemas operacionais de 64 bits com o Windows 7 e versão posterior. |
|
Representa uma notificação do Gerenciador de Recursos que um proxy do thread que bloqueasse e irá disparar um retorno ao agendador designado contexto agendando desbloqueou e está pronto para ser agendada. Essa interface não é válido quando o contexto associado de execução do proxy de thread, retornado pelo método de GetContext , é reprogramado. |
|
Uma abstração para um thread de hardware em que um proxy de thread pode ser executado. |
|
Interface de agendador |
|
scheduler_ptr Estrutura (Tempo de Execução de Simultaneidade) |
Representa um ponteiro para um agendador. Essa classe existe para permitir a especificação de um tempo de vida compartilhado usando o shared_ptr ou apenas uma referência simples usando o ponteiro bruto. |
Enumerações
Nome |
Descrição |
---|---|
Os estados válidos para agent. |
|
Os tipos de eventos que podem ser rastreados usando a funcionalidade de rastreamento ofereceram pela biblioteca dos agentes |
|
Os tipos de eventos que podem ser rastreados usando a funcionalidade de rastreamento ofereceram em tempo de execução de simultaneidade. |
|
Sinalizadores de rastreamento para os tipos de evento |
|
O tipo de região crítico um contexto está no. |
|
Usado pela política de DynamicProgressFeedback para descrever se os recursos do agendador rebalanced de acordo com as informações coletadas estatística do agendador ou com base apenas em processadores virtuais que não dentro e fora do estado ocioso com as chamadas para os métodos de Activate e de Deactivate na interface de IVirtualProcessorRoot . Para obter mais informações sobre as políticas disponíveis do agendador, consulte Enumeração PolicyElementKey. |
|
O tipo de um bloco da mensagem de join . |
|
As respostas válidos para uma oferta de message objeto a um bloco. |
|
Chaves de política que descrevem os aspectos do comportamento do agendador. Cada elemento da política é descrito por um par de valores chave. Para obter mais informações sobre as políticas do agendador e seu impacto em agendadores, consulte Agendador de tarefas (Tempo de Execução de Simultaneidade). |
|
Usado pela política de SchedulerKind para descrever o tipo de threads que o agendador deve utilizar o para subjacentes contextos de execução. Para obter mais informações sobre as políticas disponíveis do agendador, consulte Enumeração PolicyElementKey. |
|
Usado pela política de SchedulingProtocol para descrever quais o algoritmo de programação será usado para o agendador. Para obter mais informações sobre as políticas disponíveis do agendador, consulte Enumeração PolicyElementKey. |
|
Usado para denotar o estado um proxy do thread está no, quando estiver executando um cooperativo alternância de contexto para um proxy diferente do thread. |
|
Descreve o status de execução de um objeto task_group ou structured_task_group. Um valor desse tipo é retornado por vários métodos que esperam que tarefas agendadas para um grupo de trabalho sejam concluídas. |
|
Usado pela política de WinRTInitialization para descrever se e como o Tempo de Execução do Windows será inicializado em segmentos de agendador para um aplicativo executado em sistemas operacionais com a versão Windows 8 ou maior. Para obter mais informações sobre as políticas disponíveis do agendador, consulte Enumeração PolicyElementKey. |
Funções
Nome |
Descrição |
---|---|
Atribui um bloco de memória do tamanho especificado de tempo de execução de simultaneidade em cachê Suballocator. |
|
Sobrecarregado. Uma operação assíncrona de envio, que agendar uma tarefa propagar os dados para o bloco de destino. |
|
Cancela a tarefa atualmente em execução. Essa função pode ser chamada de dentro do corpo de uma tarefa para anular a execução da tarefa e fazer com que fique com o estado de canceled. Enquanto ela puder ser usada em resposta à função is_task_cancellation_requested, você também poderá usá-la por si só, para iniciar o cancelamento da tarefa que está em execução atualmente. Não será um cenário com suporte para chamar essa função se você não estiver dentro do corpo de uma task. Isso resultará em comportamento indefinido como uma falha ou travamento em seu aplicativo. |
|
Cria uma construção assíncrona Tempo de Execução do Windows baseada em um objeto fornecido de função ou lambda de usuário. O tipo de retorno de create_async é um de IAsyncAction^, de IAsyncActionWithProgress<TProgress>^, de IAsyncOperation<TResult>^, ou de IAsyncOperationWithProgress<TResult, TProgress>^ baseado na assinatura lambda passada para o método. |
|
Sobrecarregado. Criar um objeto de tarefa PPL. create_task pode ser usado em qualquer lugar em que você usaria um construtor de tarefas. É fornecido principalmente para conveniência, porque permite o uso da palavra-chave auto durante a criação de tarefas. |
|
Retorna uma interface que representa a instância singleton do Gerenciador de recursos do tempo de execução de simultaneidade. O Gerenciador de Recursos é responsável por atribuir recursos a agendadores que desejam cooperar entre si. |
|
Desabilita o rastreamento em tempo de execução de simultaneidade. Esta função é substituída quando o rastreamento ETW é registrado por padrão. |
|
Habilita o rastreamento em tempo de execução de simultaneidade. Esta função é substituída quando o rastreamento ETW agora é ativado por padrão. |
|
Libera um bloco de memória alocado anteriormente pelo método Alloc ao Concurrency Runtime Caching Suballocator. |
|
Função get_ambient_scheduler (Tempo de Execução de Simultaneidade) |
|
Retorna um identificador exclusivo que pode ser atribuído a um contexto de execução que implementa a interface de IExecutionContext . |
|
Retorna a versão do sistema operacional. |
|
Retorna o número de threads de hardware no sistema subjacente. |
|
Retorna o número de nós NUMA ou de pacotes do processador no sistema subjacente. |
|
Retorna um identificador exclusivo que pode ser atribuído a um agendador que implementa a interface de IScheduler . |
|
Cria um ponto de interrupção para o cancelamento. Se um cancelar estiver em andamento no contexto onde essa função é chamada, isso gerará uma exceção interna que nulo a execução do trabalho atualmente em execução paralelo. Se o cancelamento não está em andamento, a função não fará nada. |
|
Retorna um que indica se o grupo de trabalho que está em execução no contexto atual é embutido no meio do cancelamento ativa (em outras palavras em breve). Observe que se não houver nenhum execução do grupo de trabalho atualmente embutido no contexto atual, false será retornado. |
|
Retorna uma indicação se a tarefa que está sendo executada atualmente recebeu uma solicitação para cancelar a execução. O cancelamento é solicitado em uma tarefa se a tarefa foi criada com um token de cancelamento, e a fonte do token associada com esse token for cancelada. |
|
Sobrecarregado. Constrói um bloco de mensagem de choice de um Scheduler opcional ou ScheduleGroup e duas ou mais fontes de entrada. |
|
Sobrecarregado. Constrói um bloco de mensagem de greedy multitype_join de um Scheduler opcional ou ScheduleGroup e duas ou mais fontes de entrada. |
|
Sobrecarregado. Constrói um bloco de mensagem de non_greedy multitype_join de um Scheduler opcional ou ScheduleGroup e duas ou mais fontes de entrada. |
|
Um método da fábrica para criar um objeto de task_handle . |
|
Sobrecarregado. Organiza os elementos em um intervalo especificado em uma ordem nondescending, de acordo com um critério especificado por ordenando um predicado binário, em paralelo. Essa função é semanticamente similar a std::sort que é baseado comparar-, instável, o tipo in-loco exceto que precisam de espaço adicional de O(n) , e requerem a inicialização padrão para os elementos que estão sendo classificados. |
|
Sobrecarregado. parallel_for iteração por um intervalo de índices e executar uma função fornecida pelo usuário em cada iteração, em paralelo. |
|
Sobrecarregado. parallel_for_each aplica uma função especificada para cada elemento dentro de um intervalo, em paralelo. É semanticamente equivalente à função de for_each no namespace de std , exceto que a iteração sobre os elementos é executada em paralelo, e a ordem de iteração não é especificado. O argumento _Func deve dar suporte a um operador da chamada de função do formulário operator()(T) onde o parâmetro T é o tipo de item de contêiner que está sendo iterada sobre. |
|
Sobrecarregado. Executa os objetos de função fornecidos como parâmetros em paralelo, e é bloqueada até que sejam concluídas executar. Cada objeto de função pode ser uma expressão de lambda, um ponteiro a funcionar, ou qualquer objeto com suporte para o operador na chamada de função com a assinatura void operator()(). |
|
Sobrecarregado. Organiza os elementos em um intervalo especificado não em ordem decrescente usando um algoritmo de classificação raiz. Essa é uma função estável do tipo que requer uma função de projeção que pode projetar os elementos ser classificado em inteiro não assinado como chaves. A inicialização padrão é necessária para os elementos que estão sendo classificados. |
|
Sobrecarregado. Calcula a soma de todos os elementos em um intervalo especificado calculando somas parciais sucessivas, ou calcula o resultado de resultados parciais sucessivos obtidos da mesma forma de usar uma operação binária especificada diferente da soma, em paralelo. parallel_reduce é semanticamente similar a std::accumulate, exceto que requer a operação binária ser associativa, e requer um valor de identidade em vez de um valor inicial. |
|
Sobrecarregado. Organiza os elementos em um intervalo especificado em uma ordem nondescending, de acordo com um critério especificado por ordenando um predicado binário, em paralelo. Essa função é semanticamente similar a std::sort que é um tipo comparar- baseado, instável, in-loco. |
|
Sobrecarregado. Aplica um objeto especificado da função a cada elemento em um intervalo de origem, ou a um par de elementos de dois intervalos de origem, e copia valores de retorno do objeto da função em um intervalo de destino, em paralelo. Este funcional é semanticamente equivalente a std::transform. |
|
Sobrecarregado. Um geral obtém a implementação, permitindo que um contexto exatamente uma espera dados de origem e filtra os valores aceitos. |
|
Executa um objeto da função de forma síncrona e imediatamente no contexto de um determinado token de cancelamento. |
|
Sobrecarregado. Uma operação síncrona de envio, que espera até que o destino aceitar ou diminuir a mensagem. |
|
Função set_ambient_scheduler (Tempo de Execução de Simultaneidade) |
|
Sobrecarregado. Restringe os recursos de execução usados por threads de trabalho internas de tempo de execução de simultaneidade ao conjunto de afinidade especificado. É válido chamar este método apenas antes que o Gerenciador de Recursos seja criado, ou entre dois tempos de vida do Gerenciador de Recursos. Pode ser chamado várias vezes enquanto o Gerenciador de Recursos não existir no momento da invocação. Depois que um limite de afinidade foi definido, permanece em vigor até a chamada válido seguinte ao método de set_task_execution_resources . A máscara de afinidade forneceu não precisa ser um subconjunto de máscara de afinidade de processo. A afinidade do processo será atualizada se necessário. |
|
Troca os elementos de dois objetos de concurrent_vector . |
|
Função task_from_exception (Tempo de Execução de Simultaneidade) |
|
Função task_from_result (Tempo de Execução de Simultaneidade) |
|
Associa o nome fornecido ao bloco ou o agente de mensagem no rastreamento ETW. |
|
Sobrecarregado. Um geral tentativa- obtém a implementação, permitindo que um contexto procure de dados exatamente uma origem e filtra os valores aceitos. Se os dados não estão prontos, o método retornará false. |
|
Pausa o contexto atual para um período especificado. |
|
Cria uma tarefa que será concluída com êxito quando todas as tarefas fornecidas como argumentos são concluídas com sucesso. |
|
Sobrecarregado. Cria uma tarefa que será concluída com êxito quando qualquer tarefa fornecida como argumento é concluída com sucesso. |
Operadores
Nome |
Descrição |
---|---|
Testa se o objeto de concurrent_vector no lado esquerdo do operador não é igual ao objeto de concurrent_vector no lado direito. |
|
Sobrecarregado. Cria uma tarefa que será concluída com êxito quando ambas as tarefas fornecidas como argumentos são concluídas com sucesso. |
|
Sobrecarregado. Cria uma tarefa que foi concluída com êxito quando qualquer uma das tarefas fornecidas como argumentos for concluído com êxito. |
|
Testa se o objeto de concurrent_vector no lado esquerdo do operador é menor que o objeto de concurrent_vector no lado direito. |
|
Testa se o objeto de concurrent_vector no lado esquerdo do operador é menor ou igual ao objeto de concurrent_vector no lado direito. |
|
Testa se o objeto de concurrent_vector no lado esquerdo do operador é igual ao objeto de concurrent_vector no lado direito. |
|
Testa se o objeto de concurrent_vector no lado esquerdo do operador é maior que o objeto de concurrent_vector no lado direito. |
|
Testa se o objeto de concurrent_vector no lado esquerdo do operador é maior ou igual ao objeto de concurrent_vector no lado direito. |
Constantes
Nome |
Descrição |
---|---|
Uma categoria GUID ({B9B5B78C - 0713 - 4898 - um 21 A.C. 67949DCED07}) que descreve os eventos de ETW disparados pela biblioteca dos agentes em tempo de execução de simultaneidade. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas a tarefas ou as tarefas. |
|
O provedor GUID do ETW do tempo de execução de simultaneidade. |
|
Indica o suporte à interface do Gerenciador de Recursos definida no Visual Studio 2010. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que mais especificamente não são descritos por outra categoria. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas aos contextos. |
|
Valor que indica que uma espera nunca deve expirar. |
|
Valor que indica que um programado de espera expire. |
|
Valor especial para a chave ContextPriority de política que indica que a prioridade de thread de todos os contextos no agendador deve ser igual à do thread que criou o agendador. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas aos bloqueios. |
|
O valor especial para a política MinConcurrency fecha e MaxConcurrency. As opções para o número de hardware thread no computador na ausência de outras restrições. |
|
Uma categoria GUID que descreve os eventos de ETW acionados em tempo de execução de simultaneidade que estão diretamente relacionadas ao uso da função de parallel_for_each . |
|
Uma categoria GUID que descreve os eventos de ETW acionados em tempo de execução de simultaneidade que estão diretamente relacionadas ao uso da função de parallel_for . |
|
Uma categoria GUID que descreve os eventos de ETW acionados em tempo de execução de simultaneidade que estão diretamente relacionadas ao uso da função de parallel_invoke . |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas ao gerenciador de recursos. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas aos grupos de agenda. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas à atividade do agendador. |
|
Uma categoria GUID que descreve os eventos de ETW disparou em tempo de execução de simultaneidade que estão diretamente relacionadas aos processadores virtuais. |
Requisitos
Cabeçalho: agents.h, concrt.h, concrtrm.h, concurrent_priority_queue.h, concurrent_queue.h, concurrent_unordered_map.h, concurrent_unordered_set.h, concurrent_vector.h, internal_concurrent_hash.h, internal_split_ordered_list.h, ppl.h, pplcancellation_token.h, pplconcrt.h, pplinterface.h, ppltasks.h