Actions
Feature #14706
closedAtomic Integer incr/decr
Feature #14706:
Atomic Integer incr/decr
Status:
Closed
Assignee:
-
Target version:
-
Description
Ruby does not any thread-safe way to implement simple counters without a Mutex. Today Ruby provides Integer#succ but this funcalls "+", making it thread-unsafe as far as I know.
I'd propose adding Integer#incr(amount=1) and Integer#reset which would use atomic operations, giving us thread-safe, high-performance counters.
counter = 0
counter.incr # => 1
counter.incr(10) # => 11
counter.incr(-1) # => 10
counter.reset # => 10
counter # => 0
Actions