Paralelismo com C#

Paralelismo com C#

Aprendar trabalhar com processamento paralelo em C#.

E ai pessoal beleza, atualmente ando meio afastado do blog, mas sempre que pintar um tempinho eu prometo trazer novos artigos para vocês.

Hoje resolvi escrever um post sobre processamento paralelo.

Irei criar um simples programa onde eu consigo executar um mesmo trecho de código em mais de um núcleo do processador de forma paralela.

Bom então vamos por a mão na massa!

Bom para isso criei um projeto Application Console como podemos ver abaixo:

 

Explicando o código acima:

Temos 2 métodos principais o ProcessamentoNormal e ProcessamentoParalelo.

Cada método executa um loop de forma diferente, no caso do ProcessamentoNormal é feito um For tradicional exibindo uma quantidade X de linhas na tela.

Já o método ProcessamentoParalelo executa um For de uma forma um pouco diferente, como podemos ver abaixo ele usa a classe Parallel.

 

Abaixo podemos conferir o resultado do processamento em mais de um núcleo.

 

Repare que o processamento da CPU chega a 100%, com isso temos que ter cuidado ao utilizar esse tipo de recurso.

Executar algo em paralelo sem ter controle de número de threads abertas podem ocasionar vários tipos de problemas, pode por exemplo estourar o pool de conexão do banco de dados, ou ter problemas com acesso a um arquivo no disco e etc.

Outro ponto que devemos levar em consideração é o tipo de coisa que vai ser processado, pois se for algo muito pesado você pode ter um ganho de performance nesse tipo de processamento, mas no caso do nosso exemplo a execução em paralelo como só exibe linhas na tela, pode ser mais demorado do que um simples for normal, pois iniciar esse processo em paralelo é bem custoso.

Bom espero que tenham curtido o post.

Até a próxima!

Previous Trabalhando com classes Thread Safe (Wait on Lock) no C#
Next Validando dados com a classe ArgumentValidator no C#

About author

Paulo Rogério
Paulo Rogério 152 posts

Sou apaixonado por tecnologia e adoro criar aplicações desktop, web e mobile. Adoro aprender e compartilhar conhecimento, meu hobby é ajudar as pessoas.

You might also like

Sem categoria 0 Comments

Curso grátis – Dominando Postman em 10 passos

Share this on WhatsAppPostman é uma ótima ferramenta para testar, monitorar  e gerar documentações para APIs. Se você é novo com o Postman, este curso irá ajudá-lo a dominar esta

Ferramentas 0 Comments

Xamarin Forms – Data Binding entre controles

Share this on WhatsAppAprenda fazer Data Binding entre seus componentes de sua View no Xamarin Forms Fala galera, beleza? Como alguns de vocês já sabem, depois de passar um tempo

Sem categoria 0 Comments

Curso grátis de Ionic 3 em português

Share this on WhatsAppFala galera, hoje resolvi dar inicio a uma série de vídeos sobre Ionic 3. Para quem não sabe, atualmente sou desenvolvedor FullStack e desenvolvo em diversas tecnologias,

0 Comments

No Comments Yet!

You can be first to comment this post!

Leave a Reply