in reply to grand central dispatch like mechanism?
No. But it is trivial to write your own:
#! perl -slw use strict; use threads; sub grandCentral { my @t = map threads->create( $_ ), @_; return map $_->join, @t; } sub runme { my $arg = shift; sleep $arg * 2; return $arg; } sub a{ runme( 1 ) } sub b{ runme( 2 ) } sub c{ runme( 3 ) } sub d{ runme( 4 ) } my $start = time; my @results = grandCentral( \&a, \&b, \&c, \&d ); print for @results; printf "Took %d seconds\n", time - $start; __END__ C:\test>centralDispatch.pl 1 2 3 4 Took 8 seconds
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: grand central dispatch like mechanism?
by iaw4 (Monk) on Feb 18, 2010 at 01:37 UTC | |
by BrowserUk (Patriarch) on Feb 18, 2010 at 06:08 UTC |