2011-02-28 112 views
6

有一个关于Perl线程的教程here: 然而,关于多线程程序模型的信息很少:Boss/Workers,Work Crew,Pipeline。 我不知道如何实现这些模型。多线程Perl模型的示例代码

你会这么友好给我一些这些工作代码的例子吗?

更新:
感谢Ojosilva给了一些链接,我问这个问题,我来到了他们两个之前一派。 第一个例子是旧的,不好。剩下的两个都很好。但是更多涉及文件输入/输出和变量共享访问的“真实世界”示例将非常棒。

例如,我是一位热爱Perl的神工作的电脑专家。他以制表符分隔文本文件的形式出现了世界各国的地址簿,其中许多是几GB。他希望我解析这些文本文件的任意组合(例如,addressbook_usa.txt,addressbook_russia.txt,addressbook_india.txt)以做一些统计(例如关于年龄,性别,世界分布)。他希望我向他展示Perl的魔力,它不仅完成了这项工作,而且完成了DONE FAST,因为他不想浪费他拥有大量RAM和磁盘空间的强大多核工作站。

仅供参考我也看了一下cpan上的Thread :: Pool和Thread :: Pool :: Simple模块。前者非常有前途,但我未能在我的工作站上安装。后者几乎没有示例代码简单。再次,我的观点是找到了解如何实现多线程Perl的东西,而不仅仅是跳到顶端。

回答

5

这里有一个Work Crew example

一个老板/工人的例子可以发现here

而一个pipeline one

不是最好的例子,但可以让你开始。

+0

太糟糕了,我甚至不能投票给你,因为我的声望<15 :-( – biocyberman 2011-03-01 21:49:12

0

这是一个很大的代码库,但是对于一个更复杂的现实世界的例子:Padre(IDE)有一个相当复杂的工作池设置。

+0

)Padre无疑是一个真实世界的例子,但它一开始太复杂了。 – biocyberman 2011-03-01 21:50:16