worker

Ruby code posted by mp
created at 25 Jan 05:45, updated at 26 Jan 13:59

Edit | Back
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require 'fiber'

# Fiber.new получает блок в качестве аргумента, 
# но он не выполняется сразу же, а только после resume.
my_fiber = Fiber.new do
  puts 'fiber> started'
  Fiber.yield # Отдаем управление контексту, который запустил волокно.
  puts 'fiber> resumed'
end

puts 'main> let\'s start our fiber:'
my_fiber.resume

puts 'main> we\'re back in the main flow. Let\'s resume the fiber again:'
my_fiber.resume

puts 'main> end.'
450 Bytes in 3 ms with coderay