instance method thread_variable_get

Ruby on Rails 4.0.13

Since v4.0.13 Last seen in v4.2.9

Available in: v4.0.13 v4.1.16 v4.2.9

Signature

thread_variable_get(key)

Returns the value of a thread local variable that has been set. Note that these are different than fiber local values.

Thread local values are carried along with threads, and do not respect fibers. For example:

Thread.new {
  Thread.current.thread_variable_set("foo", "bar") # set a thread local
  Thread.current["foo"] = "bar"                    # set a fiber local

  Fiber.new {
    Fiber.yield [
      Thread.current.thread_variable_get("foo"), # get the thread local
      Thread.current["foo"],                     # get the fiber local
    ]
  }.resume
}.join.value # => ['bar', nil]

The value "bar" is returned for the thread local, where nil is returned for the fiber local. The fiber is executed in the same thread, so the thread local values are available.

Parameters

key req
Source
# File activesupport/lib/active_support/core_ext/thread.rb, line 25
  def thread_variable_get(key)
    _locals[key.to_sym]
  end

Defined in activesupport/lib/active_support/core_ext/thread.rb line 25 · View on GitHub · Improve this page · Find usages on GitHub

Defined in Thread

Type at least 2 characters to search.

↑↓ navigate · open · esc close