class SmartCore::Engine::Lock

@api public @since 0.4.0

Public Class Methods

new() click to toggle source

@return [void]

@api public @since 0.4.0

# File lib/smart_core/engine/lock.rb, line 10
def initialize
  @lock = Mutex.new
end

Public Instance Methods

synchronize() { |: synchronize(&block)| ... } click to toggle source

@param block [Block] @return [Any]

@api public @since 0.4.0

# File lib/smart_core/engine/lock.rb, line 19
def synchronize(&block)
  @lock.owned? ? yield : @lock.synchronize(&block)
end