Для волокон у нас есть классический пример: генерация чисел Фибоначчи
fib = Fiber.new do  
  x, y = 0, 1 
  loop do  
    Fiber.yield y 
    x,y = y,x+y 
  end 
end
Зачем нам нужны волокна? Я могу переписать это с помощью одного и того же Proc (фактически закрытия)
def clsr
  x, y = 0, 1
  Proc.new do
    x, y = y, x + y
    x
  end
end
So
10.times { puts fib.resume }
и
prc = clsr 
10.times { puts prc.call }
вернет тот же результат.
Итак, каковы преимущества волокон. Какие вещи я могу писать с помощью волокон, которые я не могу сделать с lambdas и другими замечательными функциями Ruby?
