2011-11-04 99 views
3

请让我知道是否有办法并行运行多线程。 我到现在为止所知道的是,Ruby有一个全局解释器锁或全局虚拟机锁,它阻止并行运行的线程并且同时执行。 请让我知道一些很好的详细线程示例,以实际理解并验证线程是并行还是并发工作。我们可以在Ruby中并行运行多线程吗?

回答

1

不适用于MRI(仅适用于并发),但适用于jRuby。

See this great article,关于这个问题还有很多其他的,但这个是相当新的,并提供很好的建议。

+2

Rubinius 2.0也有真正的多线程,但它仍在开发中。 – d11wtq

+0

还要注意:C扩展可以解锁GIL。所以,根据你想要做的事情,你可能已经使用了一个库,它将受到限制 –

+0

的限制可以考虑另一件事情是以下几点? :我读过的地方是,真正的多线程仅限于您正在运行的cpu核心数量。这不是说如果你有双核心,你得到的只有2个并行线程? –

相关问题