blob: 66e42c85e1d40ea3e4be76439b761565390769a7 (
plain)
123456789101112131415161718192021 | # one thread, one mutex (no contention) require 'thread' m = Thread::Mutex.new r = 0 max = 2000 lmax = max * max (1..1).map{ Thread.new{ i = 0 while i<lmax i += 1 m.synchronize{ r += 1 } end } }.each{|e| e.join } raise r.to_s if r != max * max
|