[Cascavel-pm] Dúvida sobre multiprocessament o?=

Luis Campos de Carvalho monsieur_champs em yahoo.com.br
Sexta Março 4 07:11:16 PST 2005


Alceu R. de Freitas Jr. wrote:
> Salve Alex,
> 
> Eu não sei usar threads em Perl, mas da forma que você
> que você está fazendo abaixo, o script está fazendo
> fork e criando processos filhos.
> 
> Existe alguma razão técnica pra você criar threads? A
> algum tempo atrás eu li que a performance deles não é
> necessariamente boa, e dá muito trabalho pra usar.

   Bom, e a portabilidade do seu script vai sofrer um pouco, além de 
tudo o que o Alceu listou.

   Penso que você pode usar fork() para fazer o trabalho sujo, assim:

   # Isto aqui ajuda a reclamar recursos
   # dos processos filhos, conforme eles terminem.
   local $SIG{CHILD} = sub{ wait; };

   foreach( @FILES ){
     my $parent = fork();
     if( $parent ){ # sou o processo filho
       # Execute processamento específico aqui
     }else{ # sou o processo pai
       # nao faz nada, apenas gera o proximo loop.
     }
   }

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Campos de Carvalho is BSc in Comp Science,
  PerlMonk [SiteDocClan], Sao Paulo PM Leader,
  Unix Sys Admin && Certified Oracle DBA
  http://br.geocities.com/monsieur_champs/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



Mais detalhes sobre a lista de discussão Cascavel-pm