Multithreading em componentes

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

Multithreading, ou livre de threading, é a capacidade de um aplicativo para executar simultaneamente de 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 thread de segundo e um terceiro de um banco de dados no segmento de atualizações. Em um aplicativo single-threaded, um usuário pode gastar tempo ocioso, aguardando a cálculos ou atualizações do banco de dados para concluir. Em um aplicativo multithreaded, esses processos poderá continuar em segundo plano para que o tempo que o usuário não seja desperdiçado.

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

Embora multithreading pode ser uma ferramenta poderosa, também pode ser difícil aplicar corretamente. Implementados de forma imprópria código multithread pode degradar o desempenho do aplicativo ou até mesmo fazer com que aplicativos congelados. Os tópicos a seguir apresentam algumas das considerações e práticas recomendadas para a programação multithread.

O .NET Framework oferece várias opções para multithreading in components. A funcionalidade de System.Threading o namespace é uma opção. O padrão assíncrono baseado em evento é outra. O BackgroundWorker componente é uma implementação do padrão assíncrono; Ele lhe que encapsulado em um componente para facilidade de uso de recursos avançados.

Nesta seção

Referência

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

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

Seções relacionadas

Topic Location
Threading Exemplo dv_cssample
Exemplo de Threading C# Sample Applications

Consulte também

Outros recursos

Criação de Componentes

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