A fiber is resumed once, then a different thread tries to resume the same fiber. What happens on MRI?f = Fiber.new { Fiber.yield; :done } f.resume # in main thread Thread.new { f.resume }.join # in another thread