parallel::ForkManager
use Parallel::ForkManager;
my $MAX_PROCESSES=10; #申明最大进程数(一次创建的进程越多,越耗内存);
my $pm = new Parallel::ForkManager($MAX_PROCESSES); #创建一个实例;
#系统中始终保持处理的进程数为10;
for(my $n=1;$n<=$nboot;$n++){
#创建一个新进,使用next语句,进入下一个循环。每个进程的任务就是调用SLEEP函数
#当创建的进程数达到设定的阈值(10)时,主进程等待,知道有子进程运行完毕,新的进程将被创建;
my $pid = $pm->start and next;
&bootstrap($n);
$pm->finish; #收割进程;
}
$pm->wait_all_children;