sexta-feira, 7 de dezembro de 2012

O que é Thread


    Thread são essencialmente sub processos. Informalmente, você pode pensar neles como tarefas que pertencem a um programa e que podem ser executadas "simultaneamente". Dependendo do número de CPUs disponíveis e do número de threads concorrentes, algumas destas threads, na verdade, serão executados em paralelo em CPUs diferentes, ao passo que em outros casos, a ilusão de uma execução simultânea será conseguida por "malabarismo" de  threads para dentro e para fora das CPUs disponíveis. Uma parte do sistema operacional chamado de agendador de threads decide quais threads alocar , o tempo de CPU e quando.

    Exemplo: Digamos que você queira verificar se o usuário digitou um número 10 a cada 60 segundos  então você chama um loop while para fazer a verificação da condição mas você perceberá que a sua aplicação ficará em um loop não permitindo o usuário digitar nada, é onde entra as Threads como multitarefas você cria uma Thread com o loop while e sua aplicação fica livre para permitir que o usuário interaja pois a thread   funciona como se outra aplicação separada da sua fizesse outro comando enquanto a sua aplicação fica livre para outras tarefas.