Usando o Threading (guia de programação translation from VPE for Csharp)
Por padrão, um programa translation from VPE for Csharp tem um thread.Esse thread executa o código no programa começando e terminando com o Main método. Todos os comandos executados por Main--tanto direta ou indiretamente--é executado por padrão, ou thread principal e esse segmento é encerrado quando Main Retorna. No entanto, auxiliar thread s podem ser criados e usados para executar código em paralelo com o principal thread.Esses segmentos são chamados de threads de trabalho.
Threads de trabalho podem ser usados para executar tarefas críticas demoradas ou time sem vincular o segmento principal.Por exemplo, segmentos de trabalho são usados em aplicativos de servidor para atender a solicitações de entrada sem aguardar que a solicitação anterior seja concluída.Threads de trabalho também são usados para executar tarefas de "plano de fundo" em aplicativos de área de trabalho para que o thread principal--que orienta os elementos da interface do usuário--continua a responder às ações do usuário.
Multithreading resolve problemas de throughput e capacidade de resposta, mas também pode introduzir problemas de compartilhamento de recursos, sistema autônomo deadlocks e condições de corrida.Vários threads são melhores para tarefas que exigem recursos diferentes, sistema autônomo identificadores de arquivos, conexões de rede.Atribuindo vários threads a um único recurso provavelmente causará problemas de sincronização e ter segmentos bloqueados com freqüência ao esperar por outros threads anula a finalidade usando vários segmentos.
Uma estratégia comum é usar segmentos de trabalho execute demorados ou tarefas de time críticas que não exigem muitos dos recursos usados por outros threads.Naturalmente, alguns recursos em seu programa devem ser acessados por vários segmentos.Nesses casos, a System.Threading namespace fornece classes para a sincronização de threads. Essas classes incluem Mutex, Monitor, Interlocked, e AutoResetEvent, e ManualResetEvent.
Você pode usar algumas ou todas essas classes para sincronizar as atividades de vários threads, mas algum suporte de vários segmentos é suportado pelo linguagem translation from VPE for Csharp.Por exemplo, translation from VPE for Csharp Política de bloquear fornece recursos de sincronização através do uso implícito de Monitor.
Os tópicos a seguir demonstram técnicas de multithreading comuns:
Como: Criar e terminar threads (guia de programação translation from VPE for Csharp)
Como: Usar um pool thread (guia de programação translation from VPE for Csharp)
Seções relacionadas
Para obter mais informações, consulte:
Consulte também
Tarefas
Exemplo de tecnologia de sincronização do Monitor
Aguarde sincronização Tecnologia Exemplo