【发布时间】:2016-08-16 17:41:40
【问题描述】:
我对 Perl Parallel Fork 管理器非常陌生。这是代码,
my $max_procs = 3;
my $forking = Parallel::ForkManager->new($max_procs);
my @collect_processed_data;
foreach my $row (@data_array) {
$forking->start and next;
# Code processing -- Started
push(@collect_processed_data, $obtained_data);
# where $obtained_data is an array which we get it from DB.
# Code Processing -- Ended.
#print Dumper @collect_processed_data; --> Works here.
$forking->finish; # do the exit in the child process
}
$forking->wait_all_children;
print Dumper @collect_processed_data; --> But not working here;
这是问题所在,分叉在这里工作正常。但问题是我无法在 foreach 循环中收集收集数据。但同时,我可以在 "$forking->finish"
之前收集“$forking->finish;”有什么我需要做的吗?
任何帮助将不胜感激。
【问题讨论】:
-
谁能说明为什么这个问题被否决了?
标签: linux perl parallel-processing fork