2011-02-28 22 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