Compartilhar via


Thread único aplicativo com o exemplo de cálculo de longa

Este exemplo demonstra como manter o UI se torne não-responsivo no aplicativo segmentado único que executa uma operação longa.

Este exemplo possui um Button ao ser clicado para calcular números primos inicia. Esse cálculo é teoricamente unending, portanto, se simples de manipulador de evento entrou em um loop e iniciado calculando números primos, a telefonar nunca retornará e o UI seria congelar thread.

Para evitar isso, as filas de amostra um trabalho assíncrono para o Dispatcher da UI thread chamando BeginInvoke. O trabalho é empurrado na fila processa um número quando o UI segmento está na SystemIdle estado e envia outra telefonar no dispatcher para processar o próximo número na próxima vez que o UI segmento está ocioso.

Isso assegura que o UI thread será sempre têm precedência sobre o próximo número de cálculo e mantém o UI de deslocado.

Consulte o Modelo de Threading tópico para obter mais informações sobre esta amostra.

Este exemplo demonstra um recurso específico da Windows Presentation Foundation e, consequentemente, não segue boas práticas de desenvolvimento de aplicativos. Para ver uma cobertura abrangente de boas práticas de desenvolvimento de aplicativos Windows Presentation Foundation (WPF) e Microsoft .NET Framework, consulte os seguintes itens conforme adequado:

Acessibilidade - Práticas recomendadas de Acessibilidade

Localização - Visão geral de globalização e localização do WPF

Desempenho-Optimizing WPF Application Performance

Segurança - Windows Presentation Foundation Security

Download sample

O exemplo de criação

  • Instale o Windows Software Development Kit (SDK) e abra sua janela de comando de ambiente de compilação. No menu Iniciar, aponte para Todos os Programas, Microsoft Windows SDK e clique em Shell CMD.

  • Baixe o exemplo, geralmente da documentação do software development kit (SDK), para a unidade de disco rígido.

  • Para compilar o exemplo na janela de comando do ambiente de compilação, vá para o diretório fonte do exemplo. Na prompt de comando, digite MSBUILD.

  • Para compilar o exemplo em Microsoft Visual Studio, carregue a solução de exemplo ou o arquivo de projeto e, em seguida, pressione CTRL+SHIFT+B.

Executando o exemplo

  • Para executar o exemplo compilado na janela de comandos do ambiente de compilação, execute o arquivo .exe na pasta Bin\Debug ou Bin\Release contida na pasta de código-fonte do exemplo.

  • Para executar o exemplo compilado com a depuração no Visual Studio, pressione F5.

Consulte também

Tarefas

Clima serviço simulação via Sample Dispatcher

Multithreading amostra de navegador da Web

desabilitar o comando fonte por meio de amostra de timer do sistema

Conceitos

Modelo de Threading