gpt4 book ai didi

perl - 在 Ksh 和 Perl 中并行执行任务的最佳方式是什么?

转载 作者:行者123 更新时间:2023-12-04 22:26:33 25 4
gpt4 key购买 nike

我有这个大型 C++ 项目,我需要在没有并行 make 的平台上构建(如 Linux 上的 make -j)。服务器有 6 个 CPU,我想手动进行并行构建。

我可以为大约 300 个目标文件生成这样的任务列表。我使用 Makefile 进行依赖性检查和增量构建:

make -f 生成文件 obj1.o

make -f 生成文件 obj2.o

make -f 生成文件 obj3.o
...

我将如何使用 Ksh 和 Perl 在一次不超过 6 个任务的情况下并行执行这些任务? (Java 或 Python 不可用:-()

最佳答案

在 Perl 中,您应该查看 Parallel::ForkManager 。你可以这样做:

my @make_obj = qw(
obj1.o
obj2.o
obj3.o
...
);

my $fm = $pm = new Parallel::ForkManager(6);
foreach my $obj (@make_obj) {
$fm->start and next;
system("make -f Makefile $make_obj");
$fm->finish();
}

关于perl - 在 Ksh 和 Perl 中并行执行任务的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/248332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com