Você está offline; aguardando reconexão

Como enviar um item de trabalho para o pool de segmentos usando translation from VPE for Csharp Visual

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 315460
Este artigo se refere ao seguinte namespace Microsoft .NET Framework Class Library:
  • System.Threading

NESTA TAREFA

Sumário
Este artigo passo a passo mostra como enviar um método para o pool de threads para execução.

No ambiente. NET, cada processo possui um pool de segmentos que você pode usar para executar métodos de maneira assíncrona.

back to the top

Requisitos


A lista a seguir descreve o hardware recomendado, software, infra-estrutura de rede e service packs são necessários:
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
Este artigo pressupõe que você esteja familiarizado com os seguintes tópicos:
  • O Visual translation from VPE for Csharp linguagem de programação
back to the top

Criar um aplicativo translation from VPE for Csharp Visual que usa o pool de threads

  1. Inicie o Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005.
  2. Crie um novo projeto de Visual translation from VPE for Csharp Windows Application chamado PoolDemo.
  3. Use a caixa de ferramentas para adicionar um controle Button ao formulário. O nome padrão para o controle Button é button1.
  4. Clique com o botão direito do formulário e clique em View Code .
  5. Cole a seguinte diretiva usando após as diretivas existentes usando , mas antes da declaração do namespace PoolDemo :
    using System.Threading;					
  6. Alterne para o modo Design e, em seguida, clique duas vezes em button1 . Cole o seguinte código no manipulador de eventos Button1_Click :
    private void button1_Click(object sender, System.EventArgs e){	WaitCallback wcb = new WaitCallback(GetSysDirSize);	try	{		ThreadPool.QueueUserWorkItem(wcb);		MessageBox.Show("The work item has been placed on the queue");	}	catch (Exception ex)	{		MessageBox.Show("Error: " + ex.Message);	}}					
  7. Cole o seguinte código dentro do corpo da classe Form1 . O método GetSysDirSize calcula o número total de bytes armazenados no diretório do sistema. GetSysDirSize chama outro método chamado DirSize para executar o cálculo.

    Observação : esta tarefa pode levar algum tempo para executar.
    private void GetSysDirSize(object state){	long total_length = DirSize(Environment.SystemDirectory);	this.Text = total_length.ToString();}private long DirSize(string path){	long sz = 0;	System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(path);		// List files.	foreach(System.IO.FileInfo f in d.GetFiles())	{		sz += f.Length;	}	// Recurse into directories.	foreach(System.IO.DirectoryInfo dx in d.GetDirectories())	{		sz += DirSize(dx.FullName);	}	return sz;}					
back to the top

Testar o exemplo

  1. Pressione CTRL+F5 para executar o aplicativo.
  2. Quando o formulário for exibido, clique no botão. Quando a caixa de mensagem que o item de trabalho foi colocado na fila for exibida, clique em OK para fechar a caixa de mensagem e retornar para o formulário principal. Após um pequeno intervalo, o tamanho total do arquivo no diretório do sistema será exibido na legenda do formulário. A duração do atraso depende da velocidade do seu computador e o número de arquivos no diretório do sistema. O cálculo de tamanhos de arquivo ocorre-se em um thread no pool de segmentos.
back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 315460 - Última Revisão: 12/11/2006 20:59:14 - Revisão: 2.3

Microsoft Visual C# 2005 Express Edition, Microsoft Visual C# .NET 2002 Standard Edition

  • kbmt kbhowtomaster kbsample kbthread KB315460 KbMtpt
Comentários
;did=1&t=">