我正在尝试加快我的程序的速度,并且有人告诉我 Ruby Fibers 比线程快,并且可以利用多个内核。我环顾四周,但我就是找不到如何实际同时运行不同的光纤。使用线程,您可以这样做:
threads = []
threads << Thread.new {Do something}
threads << Thread.new {Do something}
threads.each {|thread| thread.join}
我看不出如何用纤维做这样的事情。我所能找到的只是yield
,resume
这似乎只是纤维之间的一堆开始和停止。有没有办法用纤程实现真正的并发?