Sha256: e2e170d8c861d6438ea59a07fb7ff3380ec8126401b6b186007601d10b3bf875

Contents?: true

Size: 450 Bytes

Versions: 1

Compression:

Stored size: 450 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

COUNT = 10_000

class ::Fiber
  attr_accessor :tag
end

COUNTS = Hash.new { |h, k| h[k] = 0 }

def t(tag)
  Fiber.current.tag = tag.to_s
  COUNT.times do
    COUNTS[tag] += 1
    snooze
  end
  puts "#{tag} done"
rescue StandardError => e
  puts e
end

GC.disable
cp1 = spin { t(:a) }
cp2 = spin { t(:b) }

sleep 0.01 while cp1.alive? || cp2.alive?

puts 'counts:'
p COUNTS

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polyphony-0.23 examples/core/snooze.rb