DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!

Threads e Multithreads com Delphi - Revista ClubeDelphi 139

Este artigo apresenta uma breve introdução ao conceito de Threads e aplicações Multithread (com Delphi), um recurso que permite a execução de tarefas de maneira “paralela”, dando a impressão de que as mesmas são efetuadas ao mesmo tempo em um ambiente





ClubeDelphi 139

[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]

> Clique aqui para ler todos os artigos da ClubeDelphi 139


A computação é um ambiente que está em constate evolução. Há muitos anos atrás várias aplicações eram baseadas no conceito monotarefa e monousuário, onde apenas um software poderia ser executado por vez e por apenas um usuário, uma antiga realidade que nos dias de hoje, diante de tantos softwares executando “simultaneamente”, parece inconcebível.
Thread é a unidade básica envolvida quando uma aplicação é executada em sistemas operacionais Unix, Windows, etc. Sendo assim, as threads que pertencem a determinado processo também são submetidas ao escalonamento, criando assim a impressão de que tudo é executado ao mesmo tempo com relação a um processador, devido ao rápido mecanismo de alternância envolvido nesta tarefa, salvo o fato de realmente executarem de maneira concorrente em múltiplos processadores. O escalonamento (scheduling) é uma atividade efetuada para permitir que diversos processos executem em paralelo com o objetivo de aumentar a produtividade, minimizando a sobrecarga e o tempo de resposta para os usuários, permitindo também que determinados processos possuam prioridades maiores que outros. Um exemplo de técnica de escalonamento é a implementação do recurso time slice (fatia de tempo), onde cada thread é alocada e executada pelo processador em um determinado período de tempo gerando tal impressão de “simultaneidade”. Contudo existem os ambientes Monothread e Multithread.
Em um ambiente Monothread, uma aplicação é composta por códigos que são executados sequencialmente, de acordo com repetições, desvios, funções e procedimentos, onde a utilização de concorrência é efetuada através da implementação de processos independentes e subprocessos, caso exista essa necessidade, causando um maior consumo de recursos do sistema, uma vez que cada processo detém seu próprio espaço de endereçamento e a comunicação entre os diversos processos envolvidos normalmente é mais lenta que no outro modo.
Em um ambiente Multithread, o conceito de thread é amplamente explorado e aplicado, onde técnicas permitem que as mesmas sejam executadas de maneira simultânea. Através da utilização deste recurso, os softwares podem efetuar diversas tarefas de maneira paralela, possibilitando assim que as threads exerçam suas funções de maneira independente umas das outras. Vale à pena evidenciar que os sistemas operacionais evoluíram para possibilitar a execução de diversos processos e threads, implementando mecanismos para que os softwares pudessem fazer uso de tal recurso de concorrência, como é o exemplo do escalonamento citado anteriormente. A utilização de várias threads é mais rápida que a utilização de vários subprocessos, pois as threads de um determinado processo compartilham o mesmo intervalo de endereço (address space), permitindo assim a troca de diversas informações entre ambas, não havendo a necessidade da utilização de outros mecanismos para a intercomunicação, como é o caso dos processos.
"
A exibição deste artigo foi interrompida.

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da ClubeDelphi DIGITAL
ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Giuliano Scombatti Pinto
É Analista Desenvolvedor da Sygnux Software (www.sygnux.com.br) localizada em Monte Alto/SP, atuando também com desenvolvimento Web e Android. Formado pela Fatec/TQ, começou a desenvolver com Delphi em 2003. Atualmente trabalha com Delphi, Java, PHP e Flash/Flex. Professor de Informática de Projetos...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03