Artigo Clube Delphi 54 - Threads e Conexões

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (0)  (0)

Artigo da Revista Clube Delphi Edição 54

Esse artigo faz parte da revista Clube Delphi Edição 54. Clique aqui para ler todos os artigos desta edição

imagem_pdf.jpg

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.

Executando tarefas em paralelo

Quando se pensa em tarefas executadas em paralelo, logo vem à cabeça o uso de threads (processo executado juntamente ao programa principal). Junto com esse pensamento vem uma grande insegurança. Afinal o uso de threads foge um pouco do convencional e pode dificultar o entendimento e manutenção de um programa quando comparado a um programa linear.

Mas a utilização de threads é mais simples do que parece. São necessários somente alguns cuidados, e quando bem implementado, o seu uso traz algumas vantagens como: evitar que o processo principal “trave”, organizar o comportamento do programa, priorizar processos e multiprocessamento (para computadores com mais de um processador)."

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?