Ruby - Concurrent Programming
Given two Fibers that alternate printing numbers, what is the output of this code?
fiber1 = Fiber.new do
3.times do |i|
puts "Fiber1: #{i}"
Fiber.yield
end
end
fiber2 = Fiber.new do
3.times do |i|
puts "Fiber2: #{i}"
Fiber.yield
end
end
while fiber1.alive? || fiber2.alive?
fiber1.resume if fiber1.alive?
fiber2.resume if fiber2.alive?
end