Avançado
Utilizando Threads na Prática
Veja todos os detalhes e dicas de como e onde utilizar Threads em suas aplicações
O foco de nosso artigo são as Threads. Mas, o que são Threads? Veremos nesse artigo, muito além do que elas são, ou fazem, pois abordaremos a sua utilização prática. Conheceremos o conceito, analisaremos a classe TThread e criaremos um exemplo para aplicarmos a teoria. É importante, sempre que possível, abstrairmos os conceitos e funcionalidades das tecnologias, para a realidade, seja ela o desenvolvimento do nosso software, ou do software da empresa onde trabalhamos.
O que são Threads?
TThread é uma classe abstrata e uma classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo implementando métodos abstratos, ou seja, sem implementação para que possamos utilizá-lo da maneira que precisarmos. A classe TThread, possibilita a criação de Threads separadas, para utilizarmos em nossas aplicações. Simplificando, threads são similares a processos, que são executados em background, (“por trás da aplicação”). Podemos utilizar o seguinte exemplo para entendermos melhor:
- Imaginemos que precisamos abrir uma tabela para manipularmos alguns registros, mas não temos outra opção, a não ser abrir toda a tabela. Essa operação de chamar o método Open da classe TDataSet ou “setar” a propriedade Active para True, carrega todos os registros da tabela em memória. Tranqüilo? Sim se a tabela for pequena, mas imaginemos uma tabela com 1.000.000 de registros, com certeza levará um tempo para que o processador consiga ler essas informações no HD e carregá-las na memória. Esse processo também é conhecido por overhead. Enquanto o processo está em andamento nosso sistema “trava” aos olhos do usuário. Nem tente explicar para ele, que você esta executando uma operação que exige muito do processador e que, por isso, o sistema pode ficar lento por uns momentos. Com o passar do tempo, e com o constante crescimento da concorrência no mercado de trabalho, temos mais e mais tarefas para serem executadas. "
[...] continue lendo...