gpt4 book ai didi

perl - 如何并行运行子程序?

转载 作者:行者123 更新时间:2023-12-04 21:49:23 26 4
gpt4 key购买 nike

for(i=0; i<5; i++)
{
method1();
}

sub method1()
{
// here do something
}

这里我在 for 循环中调用了 method1 子程序。在这里,我希望调用此 method1 子例程(并行)而不等待上一次调用的结果。怎么做 ?除了线程还有其他方法吗?

最佳答案

线程:

use threads;

for (0..4) {
async { f() };
}

$_->join() for threads->list;

进程:

use forks;

for (0..4) {
async { f() };
}

$_->join() for forks->list;

内线程:

use Coro;

my @threads;
for (0..4) {
push @threads, async { f() };
}

$_->join() for @threads;

Coro 提供了一个协作式多任务系统,因此其他线程只有在当前线程阻塞等待事件时才有机会执行。

关于perl - 如何并行运行子程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284476/

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