domingo, 17 de fevereiro de 2008

Criando uma Thread em C#

Nesse post simples, vou mostrar como criar uma Thread em C#.
É importante se trabalhar com Threads para ter uma performance melhor na aplicação.

Por exemplo, se na sua aplicação windows form, você tem uma tarefa que consome muito tempo, e faz essa programação normalmente, o form irá travar enquanto sua aplicação processa essa tarefa.
Usando Threads você evita que isso aconteça, pois sua aplicação irá processar a tarefa "em paralelo" numa outra thread e seu form poderá ser utilizado normalmente.

Vamos ao codigo de uma aplicação console utilizando threads.


class Program
{
//Primeiro Criamos um metodo void que não recebe parametros
//Esse metodo fará o trabalho das Threads

static void Trabalho()
{
Console.WriteLine("Esse é o id da Thread: " + Thread.CurrentThread.ManagedThreadId);
Console.WriteLine("Esse é o nome da Thread: " + Thread.CurrentThread.Name);

//Como podem ver é um trabalho bem simples
//Apenas escrevemos o ID e o nome da Thread em execução
}


static void Main(string[] args)
{
//Aqui utilizamos uma delegate que recebe nosso metodo como parametro
//Note que esta delegate só pode receber como parametro
//um metodo void que não recebe argumentos

ThreadStart operacao = new ThreadStart(Trabalho);

//Agora já estamos prontos para criar nossa Thread
//A Thread deve receber como parametro a delagate que indica
//o que deve ser executado quando a Thread for iniciada

Thread minhaThread1 = new Thread(operacao);
//Nome da Thread
minhaThread1.Name = "Exemplo-1";
//Aqui Inicializamos a Thread, então ela executará o que
//foi especificado pela delegate operação
minhaThread1.Start();

//Aqui executamos o mesmo codigo novamente para
//iniciar uma segunda Thread e compararmos os IDs

Thread minhaThread2 = new Thread(operacao);
minhaThread2.Name = "Exemplo-2";
minhaThread2.Start();


Console.ReadLine();
}
}


Essa foi uma introdução simploria a Threads
Em breve postarei mais exemplos...

2 comentários:

Anônimo disse...

Fala, irmão!
estou fazendo um trabalho de threads em C#.. gostei de seu post! porém queria saber como funciona o método "operação".. desde já agradeço!!

abraço!!

Anônimo disse...

Muito Bom.. obrigado

 
João Bosco Seixas