【发布时间】:2017-06-16 00:44:20
【问题描述】:
我有一个简单的 Perl 脚本,其中有一个 BIG 循环,在其中我调用了或多或少百万次函数 my_fun()。我想创建将处理它的线程池 - 同时最多 5 个线程将在循环中调用此方法。
使用最快的库对我来说真的很重要 - 看到例子真的很高兴。
我的代码如下所示:
for (my $i = 0; $i < 1000000 ; $i++) {
my_fun();
}
提前谢谢你
【问题讨论】:
-
您真的需要线程(如共享内存、并发控制)还是仅仅需要独立的并行执行?如果是后者,请考虑 Parallel::ForkManager - POD 提供了如何轻松一次执行 5 个分叉的示例。
-
@DVK 我没有看到你的评论。不想窃取你的想法,抱歉。
-
@simbabque - 没问题。 (1) 反正我懒得去查资料发帖了; (2) SO 上的内容是抄送,我不拥有它:) ; (3)不像我从来没有借用评论的想法来回答,尽管像你一样,我总是明确地告诉评论者。无论如何,为一个很好的示例代码 +1
-
如果你想要最快的方式来做你的事情,你为什么要限制可以使用的方式(说它必须使用一个线程池),你为什么不告诉我们什么那是什么?
标签: multithreading perl