Atomic::Flag
An atomic flag, that can be set or not.
Concurrency safe. If many fibers try to set the atomic in parallel, only one will succeed.
Example:
flag = Atomic::Flag.new
flag.test_and_set # => true
flag.test_and_set # => false
flag.clear
flag.test_and_set # => true
Constructors
new
SourceInstance methods
test_and_set
Atomically tries to set the flag. Only succeeds and returns true if the
flag wasn't previously set; returns false otherwise.