use strict; use warnings; use threads; $| = 1; { package foo; sub run { threads->create(sub { sleep 10 }) } } { my @a; for (1..3e6) { push @a, "foo".rand } print "memory allocated\n"; sleep 10; print "now running threads\n"; foo->run; foo->run; sleep 10; }