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
- Programação multithread para componentes com System. Threading
Descreve o uso do System.Threading o namespace para criar componentes multissegmentados.
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
Programação multithread com o padrão assíncrono baseado em evento
Descreve a forma padronizada para empacotar um componente que possui recursos assíncronos.Multithreading in Visual Basic
Fornece links para uma variedade de tópicos sobre como usar multithreading com Visual Basic.Práticas recomendadas de threads gerenciadas
Fornece diretrizes para usar recursos de threads gerenciadas.
Topic | Location |
---|---|
Threading Exemplo | dv_cssample |
Exemplo de Threading | C# Sample Applications |