2012-12-20 91 views

回答

1

這取決於你的意思。 Ruby有一個全局解釋器鎖(大多數實現無論如何 - JRuby是一個例外),這意味着使用Thread.new方法不會獲得真正的併發性。這並不意味着你沒有得到任何併發。這在更深入在多個地方討論:

延遲作業和Resque方法都涉及具有執行長時間運行的操作的一個或更多個單獨的過程(S)。有了多個進程,你將在你的Rails應用程序和後臺工作進程之間產生真正的併發性,因爲GIL不會妨礙你。