2011-11-04 74 views
3

請讓我知道是否有辦法並行運行多線程。 我到現在爲止所知道的是,Ruby有一個全局解釋器鎖或全局虛擬機鎖,它阻止並行運行的線程並且同時執行。 請讓我知道一些很好的詳細線程示例,以實際理解並驗證線程是並行還是併發工作。我們可以在Ruby中並行運行多線程嗎?

回答

1

不適用於MRI(僅適用於併發),但適用於jRuby。

See this great article,關於這個問題還有很多其他的,但這個是相當新的,並提供很好的建議。

+2

Rubinius 2.0也有真正的多線程,但它仍在開發中。 – d11wtq

+0

還要注意:C擴展可以解鎖GIL。所以,根據你想要做的事情,你可能已經使用了一個庫,它將受到限制 –

+0

的限制可以考慮另一件事情是以下幾點? :我讀過的地方是,真正的多線程僅限於您正在運行的cpu核心數量。這不是說如果你有雙核心,你得到的只有2個並行線程? –

相關問題