Sha256: a1ee04f8c5215eecbdac56b7be6724ce28da461dbc1ebe4fe29ae680141aed8f

Contents?: true

Size: 505 Bytes

Versions: 31

Compression:

Stored size: 505 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

class Number
  def initialize(id)
    @id = id
  end

  def greet(other)
    puts "You are number #{other}, I am number #{@id}"
    sleep(0.05 + rand * 0.2)
  end
end

resource_count = 0
Pool = Polyphony::ResourcePool.new(limit: 3) do
  Number.new(resource_count += 1)
end

def meet(number)
  loop do
    Pool.greet(number)
  end
end

3.times { |x| spin { meet(x) } }

t0 = Time.now
every(10) { puts "uptime: #{Time.now - t0}" }

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
polyphony-0.45.0 examples/core/xx-resource_delegate.rb
polyphony-0.44.0 examples/core/xx-resource_delegate.rb
polyphony-0.43.11 examples/core/xx-resource_delegate.rb
polyphony-0.43.10 examples/core/xx-resource_delegate.rb
polyphony-0.43.9 examples/core/xx-resource_delegate.rb
polyphony-0.43.8 examples/core/xx-resource_delegate.rb
polyphony-0.43.6 examples/core/xx-resource_delegate.rb
polyphony-0.43.5 examples/core/xx-resource_delegate.rb
polyphony-0.43.4 examples/core/xx-resource_delegate.rb
polyphony-0.43.3 examples/core/xx-resource_delegate.rb
polyphony-0.43.2 examples/core/xx-resource_delegate.rb
polyphony-0.43.1 examples/core/xx-resource_delegate.rb
polyphony-0.43 examples/core/xx-resource_delegate.rb
polyphony-0.42 examples/core/xx-resource_delegate.rb
polyphony-0.41 examples/core/xx-resource_delegate.rb
polyphony-0.40 examples/core/xx-resource_delegate.rb
polyphony-0.39 examples/core/xx-resource_delegate.rb
polyphony-0.38 examples/core/xx-resource_delegate.rb
polyphony-0.36 examples/core/xx-resource_delegate.rb
polyphony-0.34 examples/core/xx-resource_delegate.rb