Precisamos armazenar os tijolos produzidos por um equipamento que, ao trmino da fabricao de um tijolo, espera que haja algum no final da esteira para peg-lo.
Se o procedimento de pegar o tijolo e lev-lo at o depsito for feito por uma nica pessoa, provavelmente diversos tijolos caram no cho enquanto essa pessoa leva um dos tijolos para o depsito.
O que fazer? Se houver uma pessoa que fique na sada da esteira retirando os tijolos e os entregando para seus assistentes, a chance de que um tijolo caia no cho ser muito reduzida, pois cada tijolo ser entregue em um perodo de tempo constante ao assistente que o levar ao depsito. O encarregado de pegar os tijolos est a postos em um tempo conhecido, permitindo, assim, calibrar o equipamento.
Pode haver muitos assistentes congestionando o caminho? Sim, identificando que o caminho no suficiente para a demanda.
Pensando agora em uma aplicao, como um servidor para transferncias de arquivos. Uma thread fica a postos para receber requisies que sero entregues a novas threads criadas sob demanda para atender a cada uma das requisies. A cada requisio, uma nova thread criada e a thread principal retorna imediatamente para aguardar novas requisies, evitando (ou reduzindo muito) o descarte de mensagens. Poderemos ter vrias threads sendo executadas concorrentemente, podendo gerar um tempo de resposta maior, mas as requisies no sero perdidas.
S para registrar: esse tipo de servidor chamado de servidor concorrente.
2/3
As threads contribuem para o melhor uso dos recursos com:
Melhor aproveitamento da fatia de tempo - Permite que a execuo do processo continue mesmo que algumas de suas Threads estejam bloqueadas.
Compartilhamento de Recursos - Threads compartilham memria e outros recursos do processo.
Economia de tempo de gerenciamento - Threads so mais econmicas de serem criadas e o custo da troca de contexto menor. Todas as threads de um mesmo processo compartilham o mesmo espao de endereamento.
Utilizao de Mltiplos Processadores - Cada Thread pode ser executada em paralelo em um processador distinto.