class AtomicCounter::Counter
Attributes
current[R]
Public Class Methods
new(start = 0)
click to toggle source
# File lib/atomic_counter/counter.rb, line 5 def initialize(start = 0) @current = start @initial = start @mutex = Mutex.new end
Public Instance Methods
decrement(by = 1)
click to toggle source
# File lib/atomic_counter/counter.rb, line 17 def decrement(by = 1) @mutex.synchronize do @current -= by end end
increment(by = 1)
click to toggle source
# File lib/atomic_counter/counter.rb, line 11 def increment(by = 1) @mutex.synchronize do @current += by end end
reset()
click to toggle source
# File lib/atomic_counter/counter.rb, line 23 def reset @mutex.synchronize do local_value = @current @current = @initial local_value end end