跳至内容 跳至搜索
命名空间
方法
L
R
U

类公共方法

load_interlock(&block)

在持有独占锁的情况下执行提供的块,防止任何其他线程同时处于 run_interlock 块中。

# File activesupport/lib/active_support/dependencies.rb, line 23
def self.load_interlock(&block)
  ActiveSupport.deprecator.warn(
    "ActiveSupport::Dependencies.load_interlock is deprecated and " \
    "will be removed in Rails 9.0. The loading interlock is no longer " \
    "used since Rails switched to Zeitwerk for autoloading."
  )
  yield if block
end

run_interlock(&block)

在不干扰任何并发加载的情况下执行提供的块。

# File activesupport/lib/active_support/dependencies.rb, line 16
def self.run_interlock(&block)
  interlock.running(&block)
end

unload_interlock(&block)

在持有独占锁的情况下执行提供的块,防止任何其他线程同时处于 run_interlock 块中。

# File activesupport/lib/active_support/dependencies.rb, line 35
def self.unload_interlock(&block)
  interlock.unloading(&block)
end