【发布时间】:2017-05-19 09:55:19
【问题描述】:
我在 Unix 系统上的 perl 中使用了以下代码模式,但它在 Windows 上崩溃了。如何使用 perl 在 Windows 上使用分叉或线程来实现相同的目标?
use Parallel::ForkManager;
my $pm = Parallel::ForkManager->new($MAX_PROCESSES);
DATA_LOOP:
foreach my $data (@all_data) {
# Forks and returns the pid for the child:
my $pid = $pm->start and next DATA_LOOP;
# ... do some work with $data in the child process ...
$pm->finish; # Terminates the child process
}
【问题讨论】:
-
使用
Thread::Queue的上述代码的等价物是什么? -
@choroba 它也没有用。也会崩溃。
-
@mob 的 Forks::Super 应该可以在 Windows 上运行。另请注意其tips for windows。试试this post
-
听起来你的 perl 安装有一些问题。告诉更多关于崩溃的信息
标签: windows multithreading perl parallel-processing fork