2011-08-31 88 views
7

爲了在Ruby或Python中獲得真正的併發性,我需要創建新的進程。 Python使用multiprocessing模塊使得這個非常簡單,它可以抽象出所有fork/wait的優點,並讓我專注於我的代碼。 Ruby有類似的東西嗎?現在我打電話Process.forkProcess.wait來獲得我的併發性,我想要一個更清潔的解決方案。Ruby的等價於Python的多處理模塊是什麼?

+0

不是一個真正的問題的答案,但:紅寶石使用本地線程有一段時間了,所以線程實際上是得到一個很好的辦法「真正的「併發性。此外,您不必擔心共享數據結構等(除了顯而易見的線程安全外) –

+0

您是否已經瀏覽了此[一] [1]? [1]:http://stackoverflow.com/questions/855805/please-introduce-a-multi-processing-library-in-perl-or-ruby – Bourne

+0

@Niklas:我堅持用Ruby 1.8正在工作:( –

回答

4

我已經使用https://github.com/grosser/parallel,並喜歡它很多。默認情況下,它將#map或#each跨系統中的所有內核。在引擎蓋下,它是Process.fork的一個包裝,聽起來像你要求的東西。

+0

Parallel的唯一問題是它不允許我在分叉之後做任何事情,它總是等待任務完成。 – dknight

相關問題