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;

posted on 2017-03-22 00:33  Vermont  阅读(1231)  评论(0编辑  收藏  举报

导航