simultaneidade Namespace
O namespace de concurrency fornece as classes e funções que fornecem acesso ao tempo de execução de concorrência, uma estrutura de programação simultânea para C++.Para obter mais informações, consulte Tempo de execução de concorrência.
namespace concurrency;
Membros
Typedefs
Nome |
Descrição |
---|---|
runtime_object_identity |
Cada instância de mensagem tem uma identidade que o segue como é clonados e transmitido entre componentes de mensagem.Isso pode não ser o endereço do objeto de mensagem. |
task_status |
Um tipo que representa o estado de 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. |
Classes
Nome |
Descrição |
---|---|
A classe de affinity_partitioner é semelhante à classe de static_partitioner , mas melhora afinidade do cache por sua escolha de subranges de mapeamento para segmentos 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 subseqüentes de um loop paralelo que é executado em um conjunto específico de dados, a vantagem de localidade de dados. |
|
Uma classe pretendesse ser usada como classe base para todos os agentes independentes.É usada para ocultar o estado dos outros agentes e para interagir com mensagem- passar. |
|
a classe de auto_partitioner representa o método padrão parallel_for, parallel_for_each e uso de parallel_transform dividir o intervalo que iteram sobre.Este método do intervalo de employes do particionamento que rouba para o balanceamento de carga bem como itera pelo botão. |
|
Essa classe descreve uma exceção acionada quando um bloco de mensagem é dado um ponteiro para um destino que seja válido para a operação que está sendo executada. |
|
Um bloco de mensagem de call é uma de origem, target_block ordenada que chama uma função especificada para receber uma mensagem. |
|
A classe de cancellation_token representa a capacidade para determinar se qualquer operação foi requisitada cancelar. |
|
A classe de cancellation_token_registration representa uma notificação de retorno de chamada de cancellation_token. |
|
A classe de cancellation_token_source representa a capacidade para cancelar uma operação. |
|
Um bloco de mensagem de choice é uma de origem, o único bloco de destino que representa uma interação de fluxo de controle com um conjunto de fontes.O bloco choice esperará qualquer de várias fontes para gerar uma mensagem e propagará o índice de origem que gerou a mensagem. |
|
O objeto de combinable<T> se destina a fornecer cópias de segmento particulares de dados, para executar cálculos subelemento bloqueio- livres do local com segmentos durante algoritmos paralelos.Em o final da operação paralela, as subpropriedades e cálculos com privadas podem ser mesclada em um resultado final.Essa classe pode ser usada em vez de uma variável compartilhada, e pode levar a uma melhoria de desempenho se haveria de outra maneira de conflito em que a variável compartilhada. |
|
A classe de concurrent_priority_queue é um contêiner que permitem que vários threads simultaneamente empurrem e apareçam itens.Os itens são aparecidos na ordem de prioridade onde a prioridade é determinada por um functor fornecido como um argumento de modelo. |
|
A classe de concurrent_queue é uma classe recipiente de seqüência na qual permite locais, primeiro - out acesso a seus elementos.Permite que um conjunto limitado de operações simultaneidade- tipadas, como push e try_pop. |
|
A classe de concurrent_unordered_map é um contêiner simultaneidade- seguro controle que uma seqüência de variar- comprimento dos elementos de tipo std::pair<const _Key_type, _Element_type>.A seqüência é representada em uma forma que permite simultaneidade- seguro, acrescente acesso do elemento, acesso de iterador, e operações de percorrimento de iterador. |
|
A classe de concurrent_unordered_multimap é um contêiner simultaneidade- seguro controle que uma seqüência de variar- comprimento dos elementos de tipo std::pair<const _Key_type, _Element_type>.A seqüência é representada em uma forma que permite simultaneidade- seguro, acrescente acesso do elemento, acesso de iterador e operações de percorrimento de iterador. |
|
A classe de concurrent_unordered_multiset é um contêiner simultaneidade- seguro controle que uma seqüência de variar- comprimento dos elementos de _Key_type do tipo.A seqüência é representada em uma forma que permite simultaneidade- seguro, acrescente acesso do elemento, acesso de iterador e operações de percorrimento de iterador. |
|
A classe de concurrent_unordered_set é um contêiner simultaneidade- seguro controle que uma seqüência de variar- comprimento dos elementos de _Key_type do tipo.A seqüência é representada em uma forma que permite simultaneidade- seguro, acrescente acesso do elemento, acesso de iterador e operações de percorrimento de iterador. |
|
A classe de concurrent_vector é uma classe recipiente que permite a seqüência de acesso aleatório a qualquer elemento.Permite que simultaneidade- seguro, acrescenta acesso do elemento, acesso de iterador, e operações de percorrimento de iterador. |
|
Representa uma abstração para um contexto de execução. |
|
Essa classe descreve uma exceção lançada quando o método de Unblock de um objeto de Context é chamado do mesmo contexto.Isso indicaria uma tentativa de um determinado contexto de desbloquear-se. |
|
Essa classe descreve uma exceção acionada quando as chamadas para métodos de Block e de Unblock de um objeto de Context não são combinados corretamente. |
|
Um mutex reentrante que não está explicitamente ciente de tempo de execução de simultaneidade. |
|
Representa uma abstração para o agendador atual associado com o contexto de chamada. |
|
Essa classe descreve uma exceção lançada quando o método de Scheduler::SetDefaultSchedulerPolicy é chamado quando um agendador padrão já existe dentro do processo. |
|
Um evento manual de redefinir explicitamente que esteja ciente de tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção acionada quando um bloqueio é adquirido incorretamente. |
|
Essa classe descreve uma exceção lançada quando o método de Attach é chamado um objeto de Scheduler que já esteja anexado ao contexto atual. |
|
Essa classe descreve uma exceção lançada quando o método de CurrentScheduler::Detach for chamado em um contexto que não seja anexado a qualquer agendador que usa o método de Attach de um objeto de Scheduler . |
|
Essa classe descreve uma exceção lançada quando o método de Reference é chamado um objeto de Scheduler que está fechando, um contexto que não é parte do agendador. |
|
Essa classe descreve uma exceção lançada quando o método de link_target de um bloco de mensagem é chamado e o bloco de mensagem é não é possível vincular ao destino.Isso pode ser o resultado de exceder o número de links que o bloco de mensagem é reservado ou tentativa de adicionar duas vezes em um destino específico à mesma fonte. |
|
Essa classe descreve uma exceção acionada quando um objeto de task_handle é agendada várias vezes usando o método de run de um objeto de task_group ou de structured_task_group sem intervenção uma chamada de métodos de wait ou de run_and_wait . |
|
Essa classe descreve uma exceção acionada quando uma operação inválida é executada que não é descrita posteriormente exatamente por outro tipo de exceção lançada pelo tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção lançada quando o método de Context::Oversubscribe é chamado com o parâmetro de _BeginOversubscription definido como false sem uma chamada para o método prévio de Context::Oversubscribe com o parâmetro de _BeginOversubscription definido como true. |
|
Essa classe descreve uma exceção acionada quando uma chave válido ou desconhecidos é passada para um construtor do objeto de SchedulerPolicy , ou o método de SetPolicyValue de um objeto de SchedulerPolicy é passado uma chave que deve ser modificada usando outros meios como o método de SetConcurrencyLimits . |
|
Essa classe descreve uma exceção acionada quando é feita uma tentativa de definir os limites de simultaneidade de um objeto de SchedulerPolicy para que o valor da chave de MinConcurrency é menor que o valor da chave de MaxConcurrency . |
|
Essa classe descreve uma exceção acionada quando uma chave da diretiva 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 bolha blocos de fontes para blocos de ITarget . |
|
A classe de ITarget é a interface para todos os blocos de destino.Blocos de destino dissipam as mensagens oferecidas pela eles blocos de ISource . |
|
Um bloco de mensagem de join é um único destino, ao código-fonte, propagator_block ordenada que combina as mensagens do tipo _Type de cada uma das fontes. |
|
Uma abstração de uma localidade física por hardware. |
|
O envelope básico de mensagem que contém a carga de dados que está sendo transmitidas entre blocos de mensagem. |
|
Essa classe descreve uma exceção acionada quando um bloco de mensagem não consegue 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 acionada quando há tarefas ainda agendadas a um objeto de task_group ou de structured_task_group momento que o destrutor do objeto é executado.Essa exceção será lançada se o destrutor nunca é alcançado 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 de mensagem de multitype_join é uma de origem, o bloco de mensagem de único destino que combina as mensagens de diferentes tipos de cada uma das fontes e oferece um tuple de mensagens combinadas aos seus alvos. |
|
Essa classe descreve uma exceção lançada quando o tempo de execução de simultaneidade detecta que você negligenciou chamar o método de CurrentScheduler::Detach em um contexto que conecta a um segundo agendador que usa o método de Attach do objeto de Scheduler . |
|
A classe base abstratas de network_link_registry gerencia links entre a fonte e blocos de destino. |
|
Essa classe descreve uma exceção acionada quando uma operação expirou. |
|
ordered_message_processor é message_processor que permite que os blocos de mensagem processem mensagens na ordem em que foram recebidas. |
|
Um bloco de mensagem de overwrite_buffer é uma mais a línguas de chegada, várias origem, propagator_block ordenada capaz de armazenar uma única mensagem de cada vez.As novas mensagens substituem guardararam anteriormente. |
|
A classe de repórter de progresso permite relatar notificações de progresso de um tipo específico.Cada objeto de 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 são uma origem e destino.Combina a funcionalidade de classes de source_block e de target_block . |
|
Uma gravador- preferência fila- com o bloqueio de leitor- gravador com o local de journaling somente.O bloqueio concede primeiro no primeiro - out acesso a criadores de (FIFO) e morre de fome leitores em uma carga contínuo dos criadores. |
|
Representa uma abstração para um grupo de cronograma.Grupos de cronograma organizam um conjunto de trabalho relacionadas que benefícios de poder ser agendada em conjunto ou prazo, executar outra tarefa no mesmo grupo antes de mover para outro grupo, ou espacial, executar vários itens dentro do mesmo grupo no mesmo nó todo ou soquete de auditoria. |
|
Representa uma abstração para um agendador de tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção acionada quando uma operação é executada que requer um agendador ser anexado ao contexto atual e um não é. |
|
Essa classe descreve uma exceção acionada por causa de uma falha adquirir um recurso importante em tempo de execução de simultaneidade. |
|
Essa classe descreve uma exceção acionada por causa de uma falha criar um contexto de trabalho em tempo de execução de simultaneidade. |
|
A classe de SchedulerPolicy contém um conjunto de pares chave/valor, um para cada elemento de diretiva, que controlam o comportamento de uma instância de agendador. |
|
A classe de simple_partitioner representa um particionamento estática do intervalo iterado sobre por parallel_for.O partitioner divide o intervalo em partes para que cada parte tem pelo menos o número de iterações especificadas pelo tamanho da parte. |
|
Um bloco de mensagem de single_assignment é uma mais a línguas de chegada, várias origem, propagator_block ordenada capaz de armazenar um único contra gravação, uma vez que message. |
|
O objeto de single_link_registry é network_link_registry que gerencia somente um único bloco de origem ou de destino. |
|
A classe de source_block é uma classe base abstrata para blocos de origem somente.A classe fornece verifica básicas da funcionalidade de gerenciamento de link bem como de erros comuns. |
|
O objeto de source_link_manager gerencia links de rede do bloco de mensagem para blocos de ISource . |
|
A classe de static_partitioner representa um particionamento estática do intervalo iterado sobre por parallel_for.O partitioner divide o intervalo em tantas partes porque há trabalhadores disponíveis para o agendador underyling. |
|
A classe representa uma coleção de structured_task_group altamente estruturada de trabalho paralelo.Você pode colocar tarefas paralelas individuais a structured_task_group usando objetos de task_handle , e aguarda que eles tenham concluído, ou cancelar-lo o grupo de trabalho antes de ela ser executado, que anulará todas as tarefas que não começarem a execução. |
|
A classe de target_block é uma classe base abstrata que fornece a funcionalidade básica de gerenciamento de link e checagem de erros para o destino bloqueem somente. |
|
A classe de (PPL) task de biblioteca dos padrões de paralela.Um objeto de task representa o trabalho que pode ser executado de forma assíncrona, e simultaneamente com outras tarefas de trabalho e paralela gerados por algoritmos paralelos em tempo de execução de simultaneidade.Gera um resultado de tipo _ResultType na conclusão com êxito.As tarefas de tipo task<void> não produz nenhum resultado.Uma tarefa pode ser esperada na e cancelado independentemente das outras tarefas.Também pode ser composto com outras tarefas usando continuaçõesthen(), e joinswhen_all) e padrões dewhen_anybem escolhidos (). |
|
Essa classe descreve uma exceção acionada pelas tarefas de PPL mergulha para forçar a tarefa atual cancelar.Também será apresentada pelo método de get() em tarefa, para uma tarefa cancelada. |
|
A classe de task_completion_event permite que você atrasar 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 de task_continuation_context permite que você especifique onde você deseja de uma continuação de ser executado.Só é útil usar esta classe de Windows Store app.Para apps não- deWindows Store , o contexto de execução de continuação de tarefa é determinado em 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 individual paralelo de trabalho.Encapsula as instruções e os dados necessários para executar um bico de trabalho. |
|
Um bloco de mensagem de timer é um único destino source_block capaz de enviar uma mensagem ao seu destino após um período de tempo especificado ou passados em intervalos específicos. |
|
Um bloco de mensagem de transformer é um único destino, várias origem, propagator_block ordenada que podem aceitar mensagens de um tipo e é capaz de armazenar um número ilimitado de mensagens de um tipo diferente. |
|
Um bloco de mensagem de unbounded_buffer é uma mais a línguas de chegada, várias origem, propagator_block ordenada capaz de armazenar um número ilimitado de mensagens. |
|
Essa classe descreve uma exceção acionada quando um sistema operacional sem suporte é usado.O tempo de execução de simultaneidade não suporta os sistemas operacionais anteriores ao Windows XP com Service Pack 3. |
Estruturas
Nome |
Descrição |
---|---|
A estrutura de DispatchState é usada para transferir o estado para o método de IExecutionContext::Dispatch .Descreve as circunstâncias em que o método de Dispatch é chamado em uma interface de IExecutionContext . |
|
Uma interface para um contexto de execução que pode executar em um processador virtual e determinado contexto cooperativa ser alternado. |
|
Uma abstração para um segmento de hardware. |
|
Uma interface para o Gerenciador de Recursos de tempo de execução de simultaneidade.Esta é a interface por que os agendadores 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 esta interface para se comunicar com os agendadores de trabalho. |
|
A interface por que os agendadores 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 segmento de execução.Dependendo da chave de política de SchedulerType de agendador você cria, o Gerenciador de Recursos conceder-lhe-á um proxy do segmento que é suportado por um segmento normal do Win32 ou por um segmento de schedulable (UMS) do modo de usuário.Segmentos de UMS são suportados em sistemas operacionais de 64 bits com versão Windows 7 e superior. |
|
Uma interface a um recurso de execução como definido pelo Gerenciador de Recursos. |
|
Uma interface para um nó de topologia como definido pelo Gerenciador de Recursos.Um nó contém um ou mais recursos de execução. |
|
Representa uma lista para completar de UMS.Quando os blocos UMS segmento seguro, o agendador designado contexto agendando é enviado para tomar uma decisão de agendar na raiz virtual subjacente do processador quando o segmento original é bloqueado.Quando o segmento original, desbloqueia o sistema operacional enfileira-o à lista de conclusão que é acessível através esta interface.O agendador pode ver a lista para completar no contexto agendando designado ou em qualquer outro local que procura por trabalho. |
|
Uma interface para uma abstração de um agendador de trabalho que deseja que o Gerenciador de Recursos de tempo de execução de simultaneidade para fornecer ao modo de usuário (UMS) schedulable segmento.O Gerenciador de Recursos usa esta interface para se comunicar com os agendadores de segmentos de UMS.A interface de IUMSScheduler herda da interface de IScheduler . |
|
Uma abstração para um segmento de execução.Se você desejar que o agendador para ser concedido segmentos schedulable de (UMS) do modo de usuário, defina o valor para o elemento SchedulerKind de política de agendador a UmsThreadDefault, e implementa a interface de IUMSScheduler .Segmentos de UMS são suportados apenas em sistemas operacionais de 64 bits com versão Windows 7 e superior. |
|
Representa uma notificação do Gerenciador de Recursos que um proxy do segmento que bloqueasse e aciona um retorno agendador designado para o contexto agendando desbloqueou e está pronto para ser agendada.Essa interface é inválido uma vez que o contexto associado a execução de proxy de segmento, retornado pelo método de GetContext , é reprogramado. |
|
Uma abstração para um segmento de hardware em que um proxy de segmento pode executar. |
Enumerações
Nome |
Descrição |
---|---|
Estados válidos para agent. |
|
Os tipos de eventos que podem ser rastreados usando a funcionalidade de rastreamento ofereceram pela biblioteca de 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 eventos |
|
O tipo de região crítica um contexto está em. |
|
Usado pela política de DynamicProgressFeedback para descrever se os recursos para o agendador rebalanced de acordo com as informações obtidas estatísticas de agendador ou baseada somente nos processadores virtuais que vão e reaparece de estado ocioso com chamadas a métodos de Activate e de Deactivate na interface de IVirtualProcessorRoot .Para obter mais informações sobre as políticas de agendador disponíveis, consulte Enumeração de PolicyElementKey. |
|
O tipo de um bloco de mensagem de join . |
|
As respostas válidos para uma oferecem de message objeto para um bloco. |
|
Teclas de política que descrevem aspectos do comportamento de agendador.Cada elemento de diretiva é descrito por um par chave-valor.Para obter mais informações sobre as políticas de agendador e do seu impacto em agendadores, consulte Agendador de tarefa (tempo de execução de simultaneidade). |
|
Usado pela política de SchedulerKind para descrever o tipo de segmentos que o agendador deve utilizar para contextos subjacentes de execução.Para obter mais informações sobre as políticas de agendador disponíveis, consulte Enumeração de PolicyElementKey. |
|
Usado pela política de SchedulingProtocol para descrever agendar o algoritmo que será utilizado para o agendador.Para obter mais informações sobre as políticas de agendador disponíveis, consulte Enumeração de PolicyElementKey. |
|
Usado para denotar o estado um proxy do segmento está em, quando estiver executando uma opção cooperativo de contexto a um proxy diferente de segmento. |
|
Descreve o status de execução de um objeto de task_group ou de structured_task_group .Um valor de esse tipo é retornado por vários métodos nas tarefas que esperam agendadas a um grupo de trabalho para concluir. |
|
Usado pela política de WinRTInitialization para descrever e como se o tempo de execução do windows será inicializado em segmentos de agendador para um aplicativo executado em sistemas operacionais windows com a versão 8 ou maior.Para obter mais informações sobre as políticas de agendador disponíveis, consulte Enumeração de PolicyElementKey. |
Funções
Nome |
Descrição |
---|---|
Atribui um bloco de memória de tamanho especificado em tempo de execução de simultaneidade que armazena em cache Suballocator. |
|
Sobrecarregado.Uma operação assíncrona de enviar, que agende 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 anular a execução de tarefa e fazer com que digite o estado de canceled .Quando pode ser usada em resposta à função de is_task_cancellation_requested , você também pode usá-lo por si só, para iniciar cancelamento de tarefa que está em execução atualmente. Não é um cenário suportado para chamar essa função se você não está dentro do corpo de task.Isso resultará a comportamento indeterminado como uma falha ou se enquadram em seu aplicativo. |
|
Cria uma compilação assíncrono em tempo de execução do windows com base em um objeto fornecido usuário lambda ou função.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 passado para o método. |
|
Sobrecarregado.Cria um objeto de PPL tarefa .create_task pode seja usado em qualquer lugar usaria um construtor de tarefas.Fornece especialmente para sua conveniência, porque ela permite o uso da palavra-chave de auto ao criar se tarefas. |
|
Retorna uma interface que representa a instância singleton do Gerenciador de Recursos de tempo de execução de simultaneidade.O Gerenciador de Recursos é responsável para atribuir aos recursos agendadores que desejam cooperar entre si. |
|
Desativa verificação que rastreiam em tempo de execução de simultaneidade.Essa função é substituída porque o rastreamento de ETW é desregistrado por padrão. |
|
Habilita o rastreamento no tempo de execução de simultaneidade.Essa função é substituída porque o rastreamento de ETW é agora sobre por padrão. |
|
Libera um bloco de memória atribuído anteriormente pelo método de Alloc ao tempo de execução de simultaneidade que armazena em cache Suballocator. |
|
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 segmentos de hardware no sistema subjacente. |
|
Retorna o número de nós todo 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 botão.Se um botão está em andamento no contexto onde essa função é chamada, isso irá acionar uma exceção interna que nulo a execução de trabalho paralelo atualmente em execução.Se o botão não está em andamento, a função não fará nada. |
|
Retorna um indicando se o grupo de trabalho que está atualmente executar no contexto atual é embutido no meio de um ativo (ou cancelar é logo).Observe que se não houver nenhum executar de grupo de trabalho atualmente embutido no contexto atual, false será retornado. |
|
Retorna um indicando se a tarefa que está executando atualmente recebeu uma solicitação cancelar a execução.O botão é solicitado em uma tarefa se a tarefa foi criada com um símbolo cancelar, e a fonte token associou com o símbolo é cancelada. |
|
Sobrecarregado.Constrói um bloco de mensagem de choice de Scheduler opcional ou de ScheduleGroup e entre duas e dez fontes de entrada. |
|
Sobrecarregado.Constrói um bloco de mensagem de greedy multitype_join de Scheduler opcional ou de ScheduleGroup e entre duas e dez fontes de entrada. |
|
Sobrecarregado.Constrói um bloco de mensagem de non_greedy multitype_join de Scheduler opcional ou de ScheduleGroup e entre duas e dez fontes de entrada. |
|
Um método de fábrica para criar um objeto de task_handle . |
|
Sobrecarregado.Organiza elementos em um intervalo especificado em uma ordem nondescending, ou de acordo com um critério classificação especificado por um predicado binário, paralelamente.Essa função é semanticamente semelhante a std::sort que é baseado comparar-, instável, o tipo no lugar exceto que precisam espaço extra de O(n) , e exigem a inicialização padrão para elementos que estão sendo classificados. |
|
Sobrecarregado.parallel_for itera através de um intervalo de índices e executa uma função de usuário fornecida em cada iteração, paralelamente. |
|
Sobrecarregado.parallel_for_each aplica uma função especificada para cada elemento em um intervalo, paralelamente.Semanticamente é equivalente à função de for_each no namespace de std , exceto que a iteração sobre os elementos é executada paralelamente, e ordem de iteração não é especificado.O argumento _Func deve suportar um operador de chamada de função do formulário operator()(T) onde o parâmetro T é o tipo de item do recipiente que está sendo iterado sobre. |
|
Sobrecarregado.Executa os objetos de função fornecidos como parâmetros paralelamente, e blocos até que terminem executar.Cada objeto de função pode ser uma expressão lambda, um ponteiro para funcionar, ou qualquer objeto que suporte o operador de chamada de função com a assinatura void operator()(). |
|
Sobrecarregado.Organiza elementos em um intervalo especificado não em uma ordem decrescente usando um algoritmo de classificação de raiz.Esta é uma função estável de tipo que requer uma função de projeção que pode projetar elementos ser classificado em sem sinal inteiro- como chaves.A inicialização padrão é necessária para elementos que estão sendo classificados. |
|
Sobrecarregado.Calcula a soma de todos os elementos em um intervalo especificado para a computação somas parciais sucessivas, ou calcula o resultado de resultados parciais sucessivos obtidos da mesma forma de usar uma operação binário especificada diferente da soma, paralelamente.parallel_reduce semanticamente é semelhante a std::accumulate, exceto que requer a operação binário ser associativa, e requer um valor de identidade em vez de um valor inicial. |
|
Sobrecarregado.Organiza elementos em um intervalo especificado em uma ordem nondescending, ou de acordo com um critério classificação especificado por um predicado binário, paralelamente.Essa função é semanticamente semelhante a std::sort que é um tipo comparar- base, instável, no lugar. |
|
Sobrecarregado.Aplica um objeto especificado de função para cada elemento em um intervalo de origem, ou um par de elementos de dois intervalos de origem, e copia os valores de retorno do objeto de função em um intervalo de destino, paralelamente.Este é semanticamente funcional equivalente a std::transform. |
|
Sobrecarregado.Um geral recebe a implementação, permitindo que um contexto espere exatamente uma fonte de dados e filtre os valores que são aceitos. |
|
Executa um objeto de função imediatamente e sincronamente no contexto de um símbolo determinado cancelar. |
|
Sobrecarregado.Uma operação síncrono de enviar, que aguardar até que o destino aceitar ou diminui a mensagem. |
|
Sobrecarregado.Restringe os recursos de execução usados pelos segmentos de trabalho internos de tempo de execução de concorrência ao conjunto de afinidade especificado. É válido somente chamar este método antes que o Gerenciador de Recursos é criado, ou entre dois tempo de vida do Gerenciador de Recursos.Pode ser chamado várias vezes enquanto o Gerenciador de Recursos não existe no momento de chamada.Depois que um limite de afinidade foi definido, permanece em vigor até a chamada válido seguinte método de set_task_execution_resources . A máscara de afinidade forneceu não precisa ser um subconjunto de máscara de afinidade do processo.Afinidade de processo será atualizada se necessário. |
|
Troca os elementos de dois objetos de concurrent_vector . |
|
Associa o nome fornecido para o bloco ou o agente de mensagem no rastreamento de ETW. |
|
Sobrecarregado.Um geral blocos recebe a implementação, permitindo que um contexto procure exatamente uma fonte de dados e filtre os valores que são aceitos.Se os dados não estão prontos, o método retornará falso. |
|
Pausa o contexto atual para um período de tempo especificado. |
|
Sobrecarregado.Cria uma tarefa que ela seja concluída com sucesso quando todas as tarefas fornecidas como argumentos completa com êxito. |
|
Sobrecarregado.Cria uma tarefa que ela seja concluída com sucesso quando algumas das tarefas fornecidas como argumentos completa com êxito. |
Operadores
Nome |
Descrição |
---|---|
Teste 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 ela seja concluída com sucesso quando ambas as tarefas fornecidas como argumentos completa com êxito. |
|
Sobrecarregado.Cria uma tarefa que ela seja concluída com sucesso quando uma das tarefas fornecidas como argumentos for concluída com êxito. |
|
Teste se o objeto de concurrent_vector no lado esquerdo do operador é menor que o objeto de concurrent_vector no lado direito. |
|
Teste se o objeto de concurrent_vector no lado esquerdo do operador é menor ou igual ao objeto de concurrent_vector no lado direito. |
|
Teste se o objeto de concurrent_vector no lado esquerdo do operador é igual ao objeto de concurrent_vector no lado direito. |
|
Teste se o objeto de concurrent_vector no lado esquerdo do operador é maior do que o objeto de concurrent_vector no lado direito. |
|
Teste 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 A 21. um. 67949DCED07 C}) que descreve eventos de ETW acionou de agente da biblioteca em tempo de execução de simultaneidade. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente às tarefas ou as tarefas. |
|
O provedor de GUID ETW para o tempo de execução de simultaneidade. |
|
Indica o suporte da interface do Gerenciador de Recursos definido no Visual Studio 2010. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que mais especificamente não são descritos por outra categoria. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente aos contextos. |
|
Avalie indicar que uma espera nunca deve tempo limite. |
|
Avalie indicar que um programado de espera para fora. |
|
Valor especial para a chave ContextPriority de política que indica que a prioridade de segmento de todos os contextos no agendador deve ser a mesma que o segmento que criou o agendador. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente para bloqueios. |
|
O valor especial para a diretiva MinConcurrency fecha e MaxConcurrency.As opções para o número de hardware segmento seguro no computador na ausência de outras restrições. |
|
Uma categoria GUID que descreve eventos de ETW acionados pelo tempo de execução de simultaneidade que são relacionados diretamente ao uso da função de parallel_for_each . |
|
Uma categoria GUID que descreve eventos de ETW acionados pelo tempo de execução de simultaneidade que são relacionados diretamente ao uso da função de parallel_for . |
|
Uma categoria GUID que descreve eventos de ETW acionados pelo tempo de execução de simultaneidade que são relacionados diretamente ao uso da função de parallel_invoke . |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente ao gerenciador de recursos. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente grupos de cronograma. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente para a atividade do agendador. |
|
Uma categoria GUID que descreve eventos de ETW acionou em tempo de execução de simultaneidade que são relacionados diretamente 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, ppl.h, ppltasks.h