我有一个系列的嵌套循环在多线程的Ruby on在我的控制器的Rails
x.downto(0)
y.downto(0)
z.downto(0)
我想问一下我是否能达到在多线程有点像
#pragma omp parallel for
确实在拆这些C.
我曾尝试使用
Thread.new do
方法,但它似乎没有任何影响。
我有一个系列的嵌套循环在多线程的Ruby on在我的控制器的Rails
x.downto(0)
y.downto(0)
z.downto(0)
我想问一下我是否能达到在多线程有点像
#pragma omp parallel for
确实在拆这些C.
我曾尝试使用
Thread.new do
方法,但它似乎没有任何影响。
Thread.new{
//some function
}
一定会起作用,但在你的情况,如果你喜欢应用
x.downto(0)
Thread.new {
y.downto(0)
Thread.new {
z.downto(0)
}
}
它创建多个嵌套线程,但它应该影响。我还没有遇到过这种情况,但我觉得这可能有帮助。
谢谢你的思维方式,我这样做,并使用互斥体来保护我的变量。 '0.upto(1)do | i | b = Thread.new { \t 0.upto(1)do | j | \t a = Thread.new { \t \t 0.upto(1)do | k | \t \t m.synchronize { \t \t #CODE这里\t \t \t \t \t \t \t } \t \t 端\t \t } \t端; \t a.priority = 2; \t a.join; } end; b.priority = 1; b.join;' – avlach
MRI有GIL,所以即使你启动了多个线程,一次只能运行一个线程。尝试使用没有GIL的ruby(jruby/rubinius)。 –
是的,我最终使用jruby。谢谢。 – avlach