Compartilhar via


Multithreading in Components

The BackgroundWorker componente implementa alguns dos recursos de segmentação na System.Threading espaço para nome; o BackgroundWorker componente é a maneira mais fácil para implementar a funcionalidade de multithreading. Para obter mais informações, consulte BackgroundWorker componente Overview.

Multithreading, or disponível de threading, é a capacidade de um aplicativo para executar simultaneamente vários threads de operação.Um exemplo de um aplicativo multithread é um programa que recebe entrada de usuário em um thread, executa uma variedade de cálculos complexos em um segundo thread e atualizações de um banco de dados em um terceiro segmento.Em um aplicativo single-threaded, um usuário pode gastar time ocioso aguardando cálculos ou atualizações do banco de dados ao fim.Em um aplicativo multithreaded, esses processos poderá continuar no plano de fundo para que o time que o usuário não será desperdiçado.

Multithreading pode ser uma poderosa ferramenta na programação de componente.Escrevendo componentes multissegmentados, você pode criar componentes que executam cálculos complexos em segundo plano, deixando a interface de usuário (UI) disponível para responder à entrada do usuário.

Embora multithreading pode ser uma poderosa ferramenta também pode ser difícil aplicar corretamente.Código multithread implementado inadequadamente pode prejudicar o desempenho do aplicativo ou até mesmo fazer com que os aplicativos congelados.Os tópicos a seguir apresentam algumas das considerações e as práticas recomendadas para a programação multithreaded.

The .NET Framework oferece várias opções para multithreading em componentes. A funcionalidade no System.Threading namespace é uma opção. O padrão assíncrono com base em eventos é outra.The BackgroundWorker componente é uma implementação do padrão assíncrono; ele permite que você tenha que encapsulado em um componente para facilitar o uso de recursos avançados.

Nesta seção

Referência

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

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

Seções relacionadas

Consulte também

Outros recursos

Criação de Componentes

Padrões de design de programação assíncrona