[Cascavel-pm] Executar funções paralelamente
Nilson Santos Figueiredo Jr.
acid06 em gmail.com
Quinta Abril 2 12:42:40 PDT 2009
2009/4/2 Elvio Barbalho <elvio.barbalho em gmail.com>:
> Senhores boa tarde, tenho duas funções gostaria de executar as duas funções
> ao mesmo tempo, ou melhor chamar uma função e não esperar ela terminar para
> chamar a outra função. No meu caso elas acessam dois bancos diferentes e
> populam algumas tabelas. É um processo um pouco demorado para rodar
> sequencialmente.
Se você estiver rodando isso em um Perl compilado com threads e todo
seu processo for thread-safe (bibliotecas de banco de dados, seu
código e outras possíveis bibliotecas utilizadas) você pode usar o
módulo subs::parallel, desenvolvido por mim.
use warnings;
use strict;
use subs::parallel;
sub primeira : Parallel {
...
}
sub segunda : Parallel {
...
}
# bloqueia esperando ambas terminarem
primeira() & segunda();
Apenas um comentário sobre seu código: não é considerado boa prática
declarar funções em Perl usando a sintaxe:
sub function() { }
Com parênteses após a declaração. Isso tem cara de código escrito por
pessoas familiares com outas linguagens de programação.
-Nilson Santos F. Jr.
Mais detalhes sobre a lista de discussão Cascavel-pm