123456789_123456789_123456789_123456789_123456789_

Class: Concurrent::Array

Relationships & Source Files
Inherits: Concurrent::ArrayImplementation
Defined in: lib/concurrent-ruby/concurrent/array.rb

Overview

Note:

a += b is not a thread-safe operation on Array. It reads array a, then it creates new Array which is concatenation of a and b, then it writes the concatenation to a. The read and write are independent operations they do not form a single atomic operation therefore when two += operations are executed concurrently updates may be lost. Use #concat instead.

A thread-safe subclass of Array. This version locks against the object itself for every method call, ensuring only one thread can be reading or writing at a time. This includes iteration methods like #each.