Como usar a biblioteca de programação paralela do Delphi? – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como usar a biblioteca de programação paralela do Delphi?

 

Esta função está disponível no Delphi a partir da versão XE 7.

Vamos usar TTask para realização a programação paralela, você vai precisar
declarar System.Threading na seção uses.

Veja o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
procedure TFormThreading.MyButtonClick(Sender: TObject);
var 
 tasks: array of ITask; 
 value: Integer; 
begin 
 Setlength (tasks ,2); 
 value := 0; 
 
 tasks[0] := TTask.Create (procedure () 
   begin 
   sleep (3000); // 3 seconds 
   TInterlocked.Add (value, 3000); 
  end); 
 tasks[0].Start; 
 
 tasks[1] := TTask.Create (procedure () 
   begin 
   sleep (5000); // 5 seconds 
   TInterlocked.Add (value, 5000);
 end); 
 tasks[1].Start; 
 
 TTask.WaitForAll(tasks); 
 ShowMessage ('All done: ' + value.ToString); 
end;

Neste exemplo, foram criadas duas tarefas e ambas foram executadas ao mesmo tempo.
Para efeitos de comparação veja:

Sequencia tradicional (sem utilizar TTask/ITask) = 8 segundos.

Usando TTask.WaitForAny( Aguardar qualquer uma ) 3 segundos.

Usando TTask.WaitForAll( Aguardar executar todas tarefas ) = 5 segundos.

Perceba a vantagem do uso desta biblioteca, em que um código que normalmente
demoraria 8 segundos, pode ser executado integramente e 5 segundos apenas.

Claro que este é apenas um pequenos exemplo, mas pense nas possibilidades!

Para mais detalhes, você pode acessar o site da embarcadero(em Inglês),
página esta, que foi usada como base para a elaboração desta dica.
embarcadero.com/RADStudio/XE7/en/Using_TTask_from_the_Parallel_Programming_Library

Facebook Comments

Posts Relacionados

  • Administrador
  • 1.039 views
  • 0 comentários
  • 2 de outubro de 2015

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados