Class: Concurrent::Array
- Inherits:
-
ArrayImplementation
- Object
- Concurrent::Array
- Defined in:
- lib/concurrent-ruby/concurrent/array.rb
Overview
Note:
a += b is not a thread-safe operation on
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.
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.