Class: TigerBeetle::AtomicCounter

Inherits:
Object
  • Object
show all
Defined in:
lib/tigerbeetle/atomic_counter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value = 0) ⇒ AtomicCounter

Returns a new instance of AtomicCounter.



5
6
7
8
# File 'lib/tigerbeetle/atomic_counter.rb', line 5

def initialize(value = 0)
  @value = value
  @mutex = Mutex.new
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



3
4
5
# File 'lib/tigerbeetle/atomic_counter.rb', line 3

def value
  @value
end

Instance Method Details

#incrementObject



10
11
12
# File 'lib/tigerbeetle/atomic_counter.rb', line 10

def increment
  @mutex.synchronize { @value += 1 }
end