Usando Multithread no Framework .NET


Depois de um final de semana ensolarado estamos de volta com mais um dos assuntos comentadissimos no momento , threads ou melhor multithread, que é nada mais nada menos do que muitas várias ações ocorrendo ao mesmo tempo.

Iremos fazer um exemplo hoje usando uma aplicação windows services onde teremos 2 threads rodando ao mesmo tempo.

Primeiramente vamos criar o projeto windows form application.

Depois adicione duas classes chamadas class1.cs e class2.cs

Abra o Form1.cs e vamos codificar um pouco.

Declare o namespace System.Threading.

using System.Threading;

Abra as classes que que foram criadas e crie um método em cada, pois chamaremos estes métodos para iniciarmos a thread.

Voltando para o Form1.cs em Design Mode de um duplo clique no form para criar o evento Form1_Load no code behind e então vamos adicionar as seguintes linhas de codigo para iniciarmos as thread .

//Estanciando a class1
Class1 objC = new Class1();
//Criamos um objeto ThreadStart que serve para setar qual método irá iniciar a Thread.
ThreadStart obj1 = new ThreadStart(objC.FazerAcao1);
//Criamos um objeto do tipo Thread e passamos como parametro o objeto ThreadStart
Thread th = new Thread(obj1);
//Iniciamos a Thread
th.Start();

Class2 objC2 = new Class2();
ThreadStart obj2 = new ThreadStart(objC.FazerAcao1);
Thread th2 = new Thread(obj2);
th2.Start();

Coloque um break point no Form1_Load método e rode a aplicação,passe passo-a-passo usando F11 e perceba que as thread são iniciadas e a aplicação continua rodando. Usando esta técnica você pode fazer e tomar varias acões ao mesmo tempo na sua aplicação.

Vale lembrar que multithread também funcionam para aplicação .NET, incluindo web. Lembre-se que quanto mais threads mais memória será consumida na máquina.

Um exemplo prático da utilização disto é quando você tem um windows services que fica fazendo algum tipo de verificação no seu sistema, pode ser feito um unico serviço que faça várias verificações ao mesmo tempo, conecte com outros serviços e por ai vai.

Coloquei o arquivo fonte com os exemplo abaixo e qualquer dúvida e sugestões são sempre bem-vindas.

snap6

Abraços

Lineker Tomazeli

Sobre tomazeli

Developer passionate about technology C, Python, Java, C# Ver todos os artigos de tomazeli

2 respostas para “Usando Multithread no Framework .NET

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: