class Concurrent::Tuple

A fixed size array with volatile (synchronized, thread safe) getters/setters. Mixes in Ruby’s ‘Enumerable` module for enhanced search, sort, and traversal.

@example

tuple = Concurrent::Tuple.new(16)

tuple.set(0, :foo)                   #=> :foo  | volatile write
tuple.get(0)                         #=> :foo  | volatile read
tuple.compare_and_set(0, :foo, :bar) #=> true  | strong CAS
tuple.cas(0, :foo, :baz)             #=> false | strong CAS
tuple.get(0)                         #=> :bar  | volatile read

@see en.wikipedia.org/wiki/Tuple Tuple entry at Wikipedia @see www.erlang.org/doc/reference_manual/data_types.html#id70396 Erlang Tuple @see ruby-doc.org/core-2.2.2/Enumerable.html Enumerable