summaryrefslogtreecommitdiff
path: root/benchmark/bm_vm4_thread_mutex1.rb
blob: faf8da122fc5e0e1d09456f3e9102288cc67a225 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# one thread, one mutex (no contention)

require 'thread'
m = Mutex.new
r = 0
max = 1000
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