Ruby/Threads/critical

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Thread.critical = true

x = 0
t1 = Thread.new do
  1.upto(1000) do
    Thread.critical = true
    x = x + 1
    Thread.critical = false
  end
end
t2 = Thread.new do
  1.upto(1000) do
    Thread.critical = true
    x = x + 1
    Thread.critical = false
  end
end
t1.join
t2.join
puts x