Compartilhar via


Multithreading em componentes

O componente de BackgroundWorker implementa alguns dos recursos de threads no namespace de System.Threading ; o componente de BackgroundWorker é a maneira mais fácil para implementar a funcionalidade de multithreading. Para mais informações, consulte Visão geral do componente BackgroundWorker.

Multithreading, ou segmentação livre, é a capacidade de executar um aplicativo simultaneamente vários segmentos da operação. Um exemplo de um aplicativo com vários segmentos é um programa que receba entrada do usuário em um segmento, execute uma variedade de cálculos complexos em um segundo segmento, e atualizar um banco de dados em um terceiro segmento. Em um aplicativo de thread única, um usuário pode passar o tempo ocioso espera que os cálculos ou atualizações do banco de dados para concluir. Em um aplicativo com vários segmentos, esses processos podem continuar no plano de fundo para que a hora de usuário não são desperdiçados.

Multithreading pode ser uma ferramenta poderosa em programação componente. Escrever componentes multissegmentados, você pode criar componentes que executam cálculos complexos no plano de fundo deixando a interface de usuário (UI) para responder a entrada do usuário.

Embora multithreading pode ser uma ferramenta poderosa, também pode ser difícil aplicar corretamente. O código multithread incorretamente implementado pode prejudicar o desempenho do aplicativo, ou mesmo aplicativos congelados causa. Os tópicos a seguir introduzem-no a algumas considerações e as práticas recomendadas para programação multithread.

.NET Framework oferece várias opções para multithreading em componentes. A funcionalidade no namespace de System.Threading é uma opção. O padrão assíncrono baseado é outro. O componente de BackgroundWorker é uma implementação do padrão assíncrono; oferece a esse funcionalidade avançada encapsulou em um componente para acessibilidade.

Nesta seção

Referência

  • Classe BackgroundWorker
    Permite que você execute uma operação em um segmento separado, dedicado.

  • Thread
    Fornece informações sobre sintaxe e membros de referência de .NET Framework .

Seções relacionadas

Tópico Local
Threading Exemplo dv_cssample
Exemplo de Threading C# Sample Applications

Consulte também

Outros recursos

Criação de componentes

Padrão assíncrono baseado em evento (EAP)