我想使用下面与fasync
类似的threads async
。我忘记了什么,是否有一些不在这里的角落案件?
sub fasync(&) {
my ($worker) = @_;
my $pid = fork() // die "can't fork!";
if (!$pid) {
$worker->();
exit(0);
}
return sub {
my ($flags) = @_;
return waitpid($pid, $flags // 0);
}
}
my @join = map {
my $job = $_;
fasync {
print "$job\n";
};
} 1 .. 10;
$_->() for @join;
答案 0 :(得分:4)
看起来它应该可以正常工作,尽管应该对fork
进行错误检查(失败时返回undef
),如果你想要任何方式进行通信,则需要详细说明孩子和父母,或不同孩子之间。