Sha256: de8bc68d455fd4f09c2603f77235cef3f5323862e89584797b0f005ab47d8011
Contents?: true
Size: 617 Bytes
Versions: 1
Compression:
Stored size: 617 Bytes
Contents
# frozen_string_literal: true require 'bundler/setup' require 'polyphony' resource_count = 0 Pool = Polyphony::ResourcePool.new(limit: 3) do :"resource#{resource_count += 1}" end def user(number) loop do move_on_after(0.2) do |scope| scope.when_cancelled do puts "#{number} (cancelled)" end Pool.acquire do |r| scope.disable puts "#{number} #{r.inspect} >" sleep(0.4 + rand * 0.2) puts "#{number} #{r.inspect} <" end end end end 6.times do |x| spin { user(x) } end t0 = Time.now every(10) { puts "uptime: #{Time.now - t0}" }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polyphony-0.19 | examples/core/resource_cancel.rb |