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
DEPRECATED Use Atomic(Bool) instead.
Atomically clears the flag.
Atomically tries to set the flag.
Struct
Struct
Value
Object
Object
Object
Atomically tries to set the flag. Only succeeds and returns true if the flag wasn't previously set; returns false otherwise.
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/Atomic/Flag.html