Sha256: 47e985ca48970105481252dd06373f66a134f96ab1585261992766d12a4c20fa
Contents?: true
Size: 606 Bytes
Versions: 3
Compression:
Stored size: 606 Bytes
Contents
class Worker { def initialize: @name supervisor: @supervisor def work! { Thread sleep: 0.5 @supervisor @@ done: @name } } class Supervisor { def initialize: @amount { @done = [] @workers = Proxies DistributingProxy new: $ (1..@amount) map: |i| { Worker new: i supervisor: self } } def start { "Starting: #{(0..@amount) to_a inspect}" println @amount times: { @workers @@ work! } } def done: worker { @done << worker if: (@done size == @amount) then: { "Done: #{@done inspect}" println } } } Supervisor new: 10 . start Console readln
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
fancy-0.10.0 | examples/distributing_proxy.fy |
fancy-0.9.0 | examples/distributing_proxy.fy |
fancy-0.8.0 | examples/distributing_proxy.fy |