diff options
Diffstat (limited to 'trunk/test/ruby/lbtest.rb')
-rw-r--r-- | trunk/test/ruby/lbtest.rb | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/trunk/test/ruby/lbtest.rb b/trunk/test/ruby/lbtest.rb deleted file mode 100644 index df7872dc76..0000000000 --- a/trunk/test/ruby/lbtest.rb +++ /dev/null @@ -1,48 +0,0 @@ -require 'thread' - -class LocalBarrier - def initialize(n) - @wait = Queue.new - @done = Queue.new - @keeper = begin_keeper(n) - end - - def sync - @done.push(true) - @wait.pop - end - - def join - @keeper.join - end - - private - def begin_keeper(n) - Thread.start do - n.times do - @done.pop - end - n.times do - @wait.push(true) - end - end - end -end - -n = 10 - -lb = LocalBarrier.new(n) - -(n - 1).times do |i| - Thread.start do - sleep((rand(n) + 1) / 10.0) - puts "#{i}: done" - lb.sync - puts "#{i}: cont" - end -end - -lb.sync -puts "#{n-1}: cone" - -puts "exit." |