Threads e Conexões
Um gerenciador de múltiplas requisições
Você já precisou de uma ferramenta que baixasse várias páginas ao mesmo tempo e que mantivesse uma fila de requisições? Pela primeira vez, ainda na faculdade, criei um programa que se chamava “Rouba Site”, mas por bom senso de meu professor, o programa foi renomeado para “Baixa Site”. Basicamente, a tarefa da aplicação era salvar um site inteiro na máquina local. Para fazê-lo senti a necessidade de um gerenciador que abrisse várias conexões simultâneas e independentes, como os browsers fazem, visto que o tempo de resposta de uma conexão HTTP pode levar alguns segundos.
O gerenciador me acompanha desde então e se mostrou útil em inúmeras outras aplicações como o “robô” utilizado no site www.buscacifras.com.br, que varre e indexa periodicamente outros sites. Após algumas mudanças em sua arquitetura, as classes que utilizei, hoje podem ser herdadas para implementar qualquer tipo de fila de requisições." [...] continue lendo...