class Concurrent::MutexAtomicBoolean
@!macro atomic_boolean @!visibility private @!macro internal_implementation_note
Public Class Methods
new(initial = false)
click to toggle source
@!macro atomic_boolean_method_initialize
Calls superclass method
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 12 def initialize(initial = false) super() @Lock = ::Mutex.new @value = !!initial end
Public Instance Methods
false?()
click to toggle source
@!macro atomic_boolean_method_false_question
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 34 def false? synchronize { !@value } end
make_false()
click to toggle source
@!macro atomic_boolean_method_make_false
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 44 def make_false synchronize { ns_make_value(false) } end
make_true()
click to toggle source
@!macro atomic_boolean_method_make_true
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 39 def make_true synchronize { ns_make_value(true) } end
true?()
click to toggle source
@!macro atomic_boolean_method_true_question
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 29 def true? synchronize { @value } end
value()
click to toggle source
@!macro atomic_boolean_method_value_get
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 19 def value synchronize { @value } end
value=(value)
click to toggle source
@!macro atomic_boolean_method_value_set
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 24 def value=(value) synchronize { @value = !!value } end
Protected Instance Methods
synchronize() { || ... }
click to toggle source
@!visibility private
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 51 def synchronize if @Lock.owned? yield else @Lock.synchronize { yield } end end
Private Instance Methods
ns_make_value(value)
click to toggle source
@!visibility private
# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 62 def ns_make_value(value) old = @value @value = value old != @value end