2
我想讓子進程寫入父類的@array。我讀過有關管道,但我對如何真正實現它很困惑:如何使用Parallel :: ForkManager管道?
use Parallel::ForkManager;
my @array;
my $pm=new Parallel::ForkManager(3);
for((1..5)){
$pm->start and next;
print "child: ".$_."\n";
push(@array,$_); # what do I do here to put it into the parent's @array????
$pm->finish;
}
$pm->wait_all_children;
print "parent: ".$_."\n" for @array;
不錯;完成的第二個參數是新的,而不是在我已經安裝的舊版本中,但它很有意義,這個功能被合併到P :: FM本身中。 – ysth
我完全反映了ysth的情緒。有人在我最近看到的部分代碼中使用了第二個參數,但我並不知道P :: FM本身正在處理它。上次我看着P :: FM時,它不存在。謝謝! – ikegami
真正有用的答案 - 謝謝。值得注意的是,run_on_finish中sub的第5個參數總是包含數據結構。我的($ pid,$ exit_code,$ ident,$ exit_signal,$ core_dump,$ data_structure_reference)= @_; – hardingnj