Class: Concurrent::Array — Concurrent Ruby

# Class: Concurrent::Array

Inherits:
  ArrayImplementation
  - Object
  - Concurrent::Array
  show all

Defined in:
  lib/concurrent/array.rb

## Overview

Note:

`a += b` is not a thread-safe operation on

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`.

`Concurrent::Array`. It reads array `a`, then it creates new `Concurrent::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.

See Also:

- Ruby standard library `Array`