Fibers, Threads, and Processes(Chapter 12 of Programming Ruby)
1 twos = Fiber.new do
2 num = 2
3 loop do
4 Fiber.yield(num) unless num % 3 == 0
5 num += 2
6 end
7 end
8
9 10.times { print twos.resume, " "}
2 num = 2
3 loop do
4 Fiber.yield(num) unless num % 3 == 0
5 num += 2
6 end
7 end
8
9 10.times { print twos.resume, " "}