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 11
def initialize(initial = false)
  super()
  synchronize { ns_initialize(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 32
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 42
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 37
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 27
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 17
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 22
def value=(value)
  synchronize { @value = !!value }
end

Protected Instance Methods

ns_initialize(initial) click to toggle source

@!visibility private

# File lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb, line 49
def ns_initialize(initial)
  @value = !!initial
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 56
def ns_make_value(value)
  old = @value
  @value = value
  old != @value
end