Sha256: 3e21bf3ca755c130d061c5c0a1243413da64d6af37e41e0d3401e8202e5df804

Contents?: true

Size: 364 Bytes

Versions: 26

Compression:

Stored size: 364 Bytes

Contents

# frozen_string_literal: true

require 'bundler/setup'
require 'polyphony'

def loop_it(number, lock)
  loop do
    sleep(rand * 0.2)
    lock.synchronize do
      puts "child #{number} has the lock"
      sleep(rand * 0.05)
    end
  end
end

lock = Polyphony::Sync::Mutex.new
spin { loop_it(1, lock) }
spin { loop_it(2, lock) }
spin { loop_it(3, lock) }

suspend

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
polyphony-0.43.8 examples/core/xx-using-a-mutex.rb
polyphony-0.43.6 examples/core/xx-using-a-mutex.rb
polyphony-0.43.5 examples/core/xx-using-a-mutex.rb
polyphony-0.43.4 examples/core/xx-using-a-mutex.rb
polyphony-0.43.3 examples/core/xx-using-a-mutex.rb
polyphony-0.43.2 examples/core/xx-using-a-mutex.rb
polyphony-0.43.1 examples/core/xx-using-a-mutex.rb
polyphony-0.43 examples/core/xx-using-a-mutex.rb
polyphony-0.42 examples/core/xx-using-a-mutex.rb
polyphony-0.41 examples/core/xx-using-a-mutex.rb
polyphony-0.40 examples/core/xx-using-a-mutex.rb
polyphony-0.39 examples/core/xx-using-a-mutex.rb
polyphony-0.38 examples/core/xx-using-a-mutex.rb
polyphony-0.36 examples/core/xx-using-a-mutex.rb
polyphony-0.34 examples/core/xx-using-a-mutex.rb
polyphony-0.33 examples/core/xx-using-a-mutex.rb
polyphony-0.32 examples/core/xx-using-a-mutex.rb
polyphony-0.31 examples/core/xx-using-a-mutex.rb
polyphony-0.30 examples/core/xx-using-a-mutex.rb
polyphony-0.29 examples/core/xx-using-a-mutex.rb