Я пытаюсь ускорить работу своей программы, и мне сказали, что Ruby Fibers работают быстрее потоков и могут использовать преимущества нескольких ядер.Я посмотрел вокруг, но я просто не могу найти, как на самом деле запустить разные волокна одновременно.С потоками вы можете сделать это:
threads = []
threads << Thread.new {Do something}
threads << Thread.new {Do something}
threads.each {|thread| thread.join}
Я не вижу, как сделать что-то подобное с волокнами.Все, что я могу найти, это yield
и resume
, которые выглядят как куча пусков и остановок между волокнами.Есть ли способ сделать истинный параллелизм с волокнами?