Class: Concurrent::Set
| Relationships & Source Files | |
| Inherits: |
Concurrent::SetImplementation
|
| Defined in: | lib/concurrent-ruby/concurrent/set.rb |
Overview
Note:
a += b is not a thread-safe operation on
Set. It reads Set a, then it creates new 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.