【发布时间】:2018-03-24 13:09:13
【问题描述】:
我想使用 Parallel::ForkManager 获取所有子元素的所有元素的哈希。
use strict;
use Parallel::ForkManager;
my @arr2 = (a, b, c, d);
foreach ( @arr2 ) {
$pid = $pm->start
$hash{$_} = localtime;
# STORE ABOVE ELEMENT TO EXIST HASH
my $pid = $pm->start and next;
}
$pm->wait_all_children;
READ %hash
输出
$hash{a} = 11:02
$hash{b} = 11:03
$hash{c} = 11:04
$hash{d} = 11:05
是否可以通过run_on_exit 回调共享散列元素?或者我必须使用外部文件?哪个模块以最简单的方式完成?我试过 IPC::Shareable 和 DBM::Deep。它们不适用于我的脚本。
【问题讨论】:
-
它适用于 Parallel::ForkManager ??
-
我试过 IPC::Shareable。有错误
IPC::Shareable::SharedMem: shmget: File exists at /home/f/perl5/lib/perl5/IPC/Shareable.pm line 567.在 DBM::Deep 我有错误DBM::Deep: Cannot write to a deleted spot in DBM::Deep. at ./backtest.pl line 581和其他人。我阅读了有关 run_on_exit 的信息,在我的情况下,这种方式看起来并不容易。 -
使用 DBM::Deep 和 IPC::Shareable 显示您的代码
标签: perl