From: mperham@... Date: 2018-04-23T20:53:14+00:00 Subject: [ruby-core:86657] [Ruby trunk Bug#14706] Atomic Integer incr/decr Issue #14706 has been reported by mperham (Mike Perham). ---------------------------------------- Bug #14706: Atomic Integer incr/decr https://bugs.ruby-lang.org/issues/14706 * Author: mperham (Mike Perham) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- 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. ~~~ ruby counter = 0 counter.incr # => 1 counter.incr(10) # => 11 counter.incr(-1) # => 10 counter.reset # => 10 counter # => 0 ~~~ -- https://bugs.ruby-lang.org/ Unsubscribe: