From: rafaelmfranca@... Date: 2018-04-23T21:27:48+00:00 Subject: [ruby-core:86660] [Ruby trunk Feature#14706] Atomic Integer incr/decr Issue #14706 has been updated by rafaelfranca (Rafael Fran��a). Related ticket with some discussion already (and partially rejected) https://bugs.ruby-lang.org/issues/12607 ---------------------------------------- Feature #14706: Atomic Integer incr/decr https://bugs.ruby-lang.org/issues/14706#change-71617 * Author: mperham (Mike Perham) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- 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: