Namespace

Module

Class

Methods

Class Public methods

load_interlock(&block)

Execute the supplied block while holding an exclusive lock, preventing any other thread from being inside a run_interlock block at the same time.

📝 Source code
# File activesupport/lib/active_support/dependencies.rb, line 23
    def self.load_interlock(&block)
      interlock.loading(&block)
    end
🔎 See on GitHub

run_interlock(&block)

Execute the supplied block without interference from any concurrent loads.

📝 Source code
# File activesupport/lib/active_support/dependencies.rb, line 16
    def self.run_interlock(&block)
      interlock.running(&block)
    end
🔎 See on GitHub

unload_interlock(&block)

Execute the supplied block while holding an exclusive lock, preventing any other thread from being inside a run_interlock block at the same time.

📝 Source code
# File activesupport/lib/active_support/dependencies.rb, line 30
    def self.unload_interlock(&block)
      interlock.unloading(&block)
    end
🔎 See on GitHub