#! perl -slw use strict; use threads; sub mem { my( $usage ) = `tasklist /NH /FI \"pid eq $$\" ` =~ m[ (\S+) \s+ K \s* $ ]x; return $usage; } sub threadTest{ sleep 1 } my $startmem = mem; print "StartMem: $startmem KB"; for my $pass ( 1 .. 50 ) { my @threads = map{ Win32::Sleep 100; threads->new(\&threadTest); } 1 .. 25; my $midmem = mem; $_->join for @threads; undef @threads; my $endmem = mem; print "Pass $pass\tMidMem: $midmem KB\tEndMem: $endmem KB"; }