Class: Concurrent::Set
- Inherits:
-
SetImplementation
- Object
- Concurrent::Set
- Defined in:
- lib/concurrent-ruby/concurrent/set.rb
Overview
Note:
‘a = b` is not a thread-safe operation on `Concurrent::Set`. It reads Set `a`, then it creates new `Concurrent::Set` which is union of `a` and `b`, then it writes the union 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 `#merge` instead.
A thread-safe subclass of Set. 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`.