Imagine se seu computador tenha apenas uma unidade
central de processamento (CPU) e é capaz de executar apenas uma tarefa por vez.
Agora imagine se nesse cenário a cpu tivesse que executar uma tarefa de longa
duração.
Embora essa operação esteja sendo executadas, todas
outras operações estaria em estado de pausa. As coisa ficam piores se essa
tarefa de longa duração conter um erro e nunca terminar, a máquina ficaria travada,
o resto das operações ficariam inutilizadas e a solução seria reiniciar a
máquina.
Para solucionar esse problema, foi criado o conceito de
Thread. Nas versões atuais do Windows , cada aplicativo é executado em seu
próprio processo e isola uma aplicação da outra e garantindo os demais
processos não sejam afetados por possível em um outro processo.
Utilizando a classe Thread
A classe thread é encontrada no namespace System.Threading
Permite que você crie novas Theads, gerencie prioridade e
obtenha seu status.
A classe thread não é algo que você deva usar em sua
aplicação a não ser tenha necessidades especiais, entretanto ao usar a classe
thread você tem controle a todas as opções de configuração.
Abaixo um exemplo de como utilizar a classe threading,
faremos um exemplo fazendo com que o thread principal seja executado no
primeiro laço espere o método “Método Thread” ser finalizado e continue a
execução.
Resultado:
Veja que não ocorreu o comportamento que esperávamos,
para que ocorra, devemos inserir o método “Join()”
Definição segundo o MSDN
“O
método Join() serve para bloquear o segmento de chamada até que um segmento
termina, para continuar a executar COM padrão e o bombeamento de SendMessage.”
Resultado:
Podemos
também utilizar o método Thread.Sleep()
para determinar o tempo de espera para o retorno da thread principal após a
outra ser finalizada.
Resultado:
Referências:
https://msdn.microsoft.com/pt-br/library/95hbf2ta(v=vs.110).aspx
Nenhum comentário:
Postar um comentário