MRI:多线程+主线程无效率

时间:2015-04-07 01:46:02

标签: ruby multithreading

当我运行此代码时,我只看到"循环1"输出一次,然后只是一个循环2",#34;循环2" ...

就像另一个循环正在等待某些事情并最终被永久封锁。

有关原因的任何建议吗?

def loop1(&block)
  loop do
    block.call("Loop 1")
    sleep 1
  end
end

def loop2(&block)
  loop do
    block.call("Loop 2")
    sleep 1
  end
end

def both(&block)
  Thread.new { loop1(&block) }
  loop2(&block)
end

both(&method(:puts))

我甚至不确定导致线程循环停止的putsblock.call()

0 个答案:

没有答案