c:\test>junk
Image Name PID Session Name Session# Mem Usage
========================= ====== ================ ======== ============
tperl.exe 10172 0 64,840 K
Taken 3.278383 seconds
c:\test>junk
Image Name PID Session Name Session# Mem Usage
========================= ====== ================ ======== ============
tperl.exe 2924 0 173,516 K
Taken 8.761321 seconds
####
#! perl -slw
use strict;
use threads;
use Time::HiRes qw[ time ];
sub simplesub { sleep 10, return 1 }
my $start = time;
my @threads = map{ threads->create( \&simplesub ) } 1 .. 10;
my @array = 0 .. 1e5;
my %hash = 1 .. 1e5;
system qq[tasklist /fi "pid eq $$"];
printf "Taken %f seconds", time() - $start;
$_->join for @threads;
##
##
#! perl -slw
use strict;
use threads;
use Time::HiRes qw[ time ];
sub simplesub { sleep 10, return 1 }
my $start = time;
my @array = 0 .. 1e5;
my %hash = 1 .. 1e5;
my @threads = map{ threads->create( \&simplesub ) } 1 .. 10;
system qq[tasklist /fi "pid eq $$"];
printf "Taken %f seconds", time() - $start;
$_->join for @threads;
##
##
my( $Xthread ) = threads->create( { suspended => 1 }, \&Xthread );
my( $Ythread ) = threads->create( { suspended => 1 }, \%Ythread );
... Do other stuff that gets me the parameters for X
$Xthread->resume( $arg1, $arg2 );
... Generate/fetch/calculate args for Y
$Ythread->resume( $Yarg1, $Yarg2 );
... tum te tum
my( @Yresults ) = $Ythread->join;
...
my( @Xresults ) = $Xthread->join;