Share via


Tempo de execução de concorrência

O tempo de execução de simultaneidade para ajuda C++ você escrever aplicativos paralelos robustos, escalonáveis, e responsivo.Gera o nível de abstração para que você não tenha que gerenciar os detalhes de infraestrutura que são relacionados a simultaneidade.Você também pode usá-lo para especificar políticas de programação que atendam a qualidade de demandas de serviço de seus aplicativos.Use esses recursos para ajudá-lo a começar a trabalhar com o tempo de execução de simultaneidade.

Para obter documentação de referência, consulte Referência (tempo de execução de simultaneidade).

DicaDica

O runtime depende de simultaneidade intensamente os recursos C++11 e adota o estilo mais modernos C++.Para saber mais, leitura Guia de programação C++ moderno.

Escolhendo recursos de tempo de execução de concorrência

Visão geral de tempo de execução de concorrência

Ensina como o tempo de execução de concorrência é importante e descreve os principais recursos.

Comparando o tempo de execução de concorrência a outros modelos de concorrência

Mostra como o tempo de execução de simultaneidade compara a outros modelos de concorrência, como o pool de segmentos do Windows e o OpenMP, para que você possa usar o modelo de simultaneidade ajustes do melhor seus requisitos de aplicativo.

Migrando de OpenMP ao tempo de execução de concorrência

Compara OpenMP ao tempo de execução concorrentes e fornece exemplos sobre como migrar o código existente de OpenMP para usar o tempo de execução de simultaneidade.

A modelos paralela a biblioteca (PPL)

Apresenta ao PPL, que fornece loop, tarefas, e contêiner paralelos de paralela.

Biblioteca de agentes assíncrono

Apresenta a como usar agentes assíncronos e a mensagem que passa para inserir facilmente o fluxo de dados e que canaliza tarefas em seus aplicativos.

Agendador de tarefa (tempo de execução de simultaneidade)

Apresenta ao agendador de tarefas, que permite que você ajustar o desempenho de seus aplicativos da área de trabalho que usa o tempo de execução de simultaneidade.

Paralelismo de tarefa em PPL

Paralelismo de tarefa (tempo de execução de simultaneidade)

Como: Use o parallel_invoke para gravar uma rotina paralela de tipo

Como: use o parallel_invoke para executar operações paralelas

Como: criar uma tarefa é concluída após um atraso

Descreve as tarefas e grupos de trabalho, que podem ajudar você a escrever código assíncrona e a decompr o trabalho paralelo em partes menores.

Passo a passo: implementando futuros

Demonstra como combinar recursos de tempo de execução de simultaneidade para fazer algo mais.

Passo a passo: Removendo o trabalho de um encadeamento de interface do usuário

Mostra como mover o trabalho que é executado pelo encadeamento de interface do usuário em um aplicativo MFC a um segmento de trabalho.

As práticas recomendadas de paralela da biblioteca

Práticas recomendadas gerais em tempo de execução de concorrência

Fornece dicas e práticas recomendadas para trabalhar com o PPL.

Paralelismo de dados no PPL

Algoritmos paralelos

Como: Escreva um loop de parallel_for

Como: Escreva um loop de parallel_for_each

Como: executar o mapa e reduzir as operações em paralelo

Descreve parallel_for, parallel_for_each, parallel_invoke, e outros algoritmos paralelos.Use os algoritmos paralelos para resolver problemas paralelos de dados que envolvem coleções de dados.

Contêiner e objetos paralelos

Como: Use contêiner paralelos a eficiência raise

Como: use combinável para melhorar o desempenho

Como: use combinável para combinar conjuntos

Descreve a classe de combinable , bem como concurrent_vector, concurrent_queue, concurrent_unordered_map, e outros contêineres paralelos.Use recipiente e objetos paralelos quando você precisar de contêiners que fornecem acesso thread-safe a seus elementos.

As práticas recomendadas de paralela da biblioteca

Práticas recomendadas gerais em tempo de execução de concorrência

Fornece dicas e práticas recomendadas para trabalhar com o PPL.

Cancelando tarefas e algoritmos paralelos

Cancelar o PPL

Descreve a função cancelar o PPL, incluindo como iniciar e responder às solicitações de cancelamento.

Como: Use o botão para interromper de um loop paralelo

Como: Use manipulação de exceção para interromper de um loop paralelo

Mostra duas maneiras para cancelar o trabalho de dados paralelo.

Aplicativos da Windows Store

Criando operações assíncronas n C++ para aplicativos da Windows Store

Descreve alguns de chave para ter em mente quando você usa o tempo de execução de simultaneidade para gerar operações assíncronas em um aplicativo de Windows Store .

Passo a passo: Conectando-se com tarefas e solicitação de HTTP de XML (IXHR2)

Mostra como combinar tarefas de PPL com IXMLHTTPRequest2 e interfaces de IXMLHTTPRequest2Callback para enviar solicitações HTTP GET e POST a um serviço da Web em um aplicativo de Windows Store .

Exemplos de aplicativo da Windows Store

Contém exemplos de código e aplicativos carregável de demonstração para Windows 8.Exemplos C++ usam recursos de tempo de execução de simultaneidade como tarefas de PPL processar dados no plano de fundo para manter. UX responsivo

Programação do fluxo de dados na biblioteca assíncrona de agentes

Agentes assíncronos

Blocos assíncronas de mensagem

Mensagem que passa funções

Como: Padrões de Produtor- Consumidor de implementar vários

Como: Fornecer funções de trabalho para as classes de chamada e transformador

Como: Use o transformador em um canal de dados

Como: selecionar entre tarefas concluídas

Como: enviar uma mensagem em um intervalo normal

Como: Use um filtro de bloco de mensagem

Descreve agentes assíncronas, blocos de mensagem, e mensagem- passar as funções, que são os blocos de construção para executar operações de fluxo de dados em tempo de execução de simultaneidade.

Passo a passo: Criando um aplicativo Baseado Agente-

Passo a passo: Criando um agente do fluxo de dados

Mostra como criar aplicativos baseados agente- básicos.

Passo a passo: Criando uma rede Processamento de imagens

Mostra como criar uma rede de blocos assíncronas de mensagem que executam processamento de imagem.

Passo a passo: Usar join para evitar a deadlock

Usa o problema de jantar de filósofos para ilustrar como usar o tempo de execução de simultaneidade para evitar bloqueio a completa em seu aplicativo.

Passo a passo: Criando um bloco personalizado de mensagem

Mostra como criar uma mensagem personalizado em blocos regra que mensagens de entrada por prioridade.

Práticas recomendadas na biblioteca assíncrona de agentes

Práticas recomendadas gerais em tempo de execução de concorrência

Fornece dicas e práticas recomendadas para trabalhar com agentes.

Manipulação de exceção e depuração

Manipulação de exceção em tempo de execução de concorrência

Descreve como trabalhar com exceções em tempo de execução de simultaneidade.

Ferramentas de diagnóstico paralelas (tempo de execução de simultaneidade)

Ensina-lhe como ajustar seus aplicativos e fazer o uso mais eficiente de tempo de execução de simultaneidade.

Ajustando o desempenho

Ferramentas de diagnóstico paralelas (tempo de execução de simultaneidade)

Ensina-lhe como ajustar seus aplicativos e fazer o uso mais eficiente de tempo de execução de simultaneidade.

Instâncias de agendador

Como: Gerenciar uma instância de agendador

Diretivas de agendador

Como: Especificar políticas específicas de agendador

Como: Crie os agentes usando diretivas específicas de agendador

Mostra como trabalhar com gerenciam instâncias de agendador e políticas de agendador.Para aplicativos desktop, as políticas de agendador permite associar regras específicas com os tipos específicos dos carregamentos de trabalho.Por exemplo, você pode criar uma instância de agendador para executar algumas tarefas em uma prioridade superior de segmento e usar o agendador padrão para realizar outras tarefas na prioridade normal do segmento.

Grupos de cronograma

Como: Use grupos de cronograma para influenciar a ordem de execução

Demonstra como usar grupos de cronograma para affinitize juntos, ou grupo, tarefas relacionadas.Por exemplo, você pode requerer um alto grau de localidade entre tarefas relacionadas quando essas tarefas se beneficiam de execução no mesmo nó do processador.

Tarefas leve

Explica como tarefas leve são úteis para criar o trabalho que não requer o balanceamento de carga ou cancelar, e como eles também são úteis para adaptar o código existente para uso com o tempo de execução de simultaneidade.

Contextos

Como: Use a classe de contexto para implementar um semáforo cooperativo

Como: use a sobresubscrição para deslocar a latência

Descreve como controlar o comportamento de segmentos que são gerenciados pelo tempo de execução de simultaneidade.

Funções de gerenciamento de memória

Como: Use Alloc e o libera para melhorar o desempenho de memória

Descreve as funções de gerenciamento de memória que o tempo de execução de simultaneidade oferece para ajudá-lo a atribuir e liberar a memória em uma maneira simultânea.

Recursos adicionais

Padrões e dicas de programação de Async em Hilo (aplicativos da Windows Store usando C++ e XAML)

Aprender como usamos o tempo de execução de simultaneidade para implementar operações assíncronas em Hilo, um aplicativo de Windows Store usando C++ e XAML.

Exemplos para a biblioteca do padrão de tempo de execução e de paralela de concorrência no Visual Studio 2010

Fornece os aplicativos de exemplo e os utilitários que demonstram o tempo de execução de simultaneidade.

Programação paralela no blog de código nativo

Fornece artigos detalhados adicionais do blog sobre programação paralela em tempo de execução de simultaneidade.

Computação paralela no fórum C++ e de código nativo

Permite que você participar em discussões da comunidade sobre o tempo de execução de simultaneidade.

Programação em paralela a.NET Framework

Ensina-o paralelo sobre o modelo de programação que está disponível em .NET Framework.

Consulte também

Outros recursos

Referência (tempo de execução de simultaneidade)