Tag: 竞赛条件

用MRI产生竞争条件

我想知道使用MRI ruby​​(2.0.0)和一些全局变量来制作竞争条件是否容易,但事实certificate这并不容易。 看起来它应该在某些时候失败,但它没有,我已经运行了10分钟。 这是我一直试图实现的代码: def inc(*) a = $x a += 1 a *= 3000 a /= 3000 $x = a end THREADS = 10 COUNT = 5000 loop do $x = 1 THREADS.times.map do Thread.new { COUNT.times(&method(:inc)) } end.each(&:join) break puts “woo hoo!” if $x != THREADS * COUNT + 1 end puts $x […]