[SP-pm] threads
Jorge Teles
jorteles em yahoo.com
Quarta Maio 3 10:06:32 PDT 2006
Olá pessoal,
Estou començando uns estudos em threads em perl:
http://migo.sixbit.org/papers/Perl_Threads/slide-index.html
use threads;
use Thread::Queue;
my $stream = new Thread::Queue;
my $kid = new threads(\&check_num, $stream, 2);
for my $i (3 .. 1000) {
$stream->enqueue($i);
}
$stream->enqueue(undef);
$kid->join;
sub check_num {
my ($upstream, $cur_prime) = @_;
my $kid = undef;
my $downstream = new Thread::Queue;
while (my $num = $upstream->dequeue) {
next unless $num % $cur_prime;
if ($kid) {
$downstream->enqueue($num);
} else {
print "Found prime $num\n";
$kid = new threads(\&check_num, $downstream, $num);
}
}
$downstream->enqueue(undef) if $kid;
$kid->join if $kid;
}
Nesta página tem um exemplo de cálculo de números
primos, mas há uma coisa que não entendi no exemplo,
talvez porque esteja faltando algum conceito.
Eu não entendi muito bem o que acontece na funçao, na
parte em que ele inicializa novamente a thread com a
mesma variável, alguém poderia dar um help.
Até...
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Mais detalhes sobre a lista de discussão SaoPaulo-pm