lex*_*ope 5 concurrency perl multithreading perl-data-structures
我有一组部分有序的任务,对于每个任务,在执行之前必须执行部分顺序之前严格执行的所有任务.我想同时执行不相关的任务(在一个之前或之后)以尝试最小化总执行时间 - 但是在完成依赖之前不启动任务.
任务将作为(非perl)子进程运行.
我应该如何使用Perl解决这样的问题?什么是并发控制工具和数据结构?
我会使用数组的哈希值。对于每个任务,其所有先决条件都将在相应的数组中提及:
$prereq{task1} = [qw/task2 task3 task4/];
我会将已完成的任务保存在不同的哈希中,然后
my @prereq = @{ $prereq{$task} };
if (@prereq == grep exists $completed{$_}, @prereq) {
    run($task);
}
| 归档时间: | 
 | 
| 查看次数: | 126 次 | 
| 最近记录: |