jey has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use strict; use warnings; use Thread::Pool; my %resolved : shared; my $pool = Thread::Pool->new( { workers => 3, do => \&do, monitor => \&monitor, } ); $pool->job($_) for 1 .. 100; $pool->shutdown; print $_, "\t", $resolved{$_}, $/ for sort { $b <=> $a } keys %resolve +d; sub do { $resolved{$_[0]} = $_[0] * $_[0]; $_[0]; } sub monitor {return 1}
#!/usr/bin/perl use strict; use warnings; use Thread::Pool; my %resolved : shared; my $pool = Thread::Pool->new( { workers => 3, do => \&do, monitor => \&monitor, } ); $pool->job($_) for 1 .. 100; $pool->shutdown; print join("\t",($_,$resolved{$_}->{2},$resolved{$_}->{3},$resolved{$_ +}->{4})), $/ for sort { $b <=> $a } keys %resolved; sub do { my %sh; $sh{2} = $_[0] * $_[0]; $sh{3} = $_[0] * $_[0] * $_[0]; $sh{4} = $_[0] * $_[0] * $_[0] * $_[0]; $resolved{$_[0]} = \%sh; $_[0]; } sub monitor {return 1}
Thanks in advance,Cannot find result for streaming job 1 at /usr/lib/perl5/site_perl/5.8 +.8/Thread/Pool.pm (loaded on demand from offset 20056 for 2428 bytes) + line 769.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Building a Pool of threads
by renodino (Curate) on Aug 23, 2006 at 23:17 UTC | |
|
Re: Building a Pool of threads
by BrowserUk (Patriarch) on Aug 23, 2006 at 22:47 UTC | |
by Anonymous Monk on Aug 23, 2006 at 22:57 UTC | |
by BrowserUk (Patriarch) on Aug 23, 2006 at 23:49 UTC | |
by Anonymous Monk on Aug 24, 2006 at 00:36 UTC | |
by BrowserUk (Patriarch) on Aug 24, 2006 at 01:47 UTC |