本文簡要介紹ruby語言中 Thread.thread_variable_get
的用法。
用法
thread_variable_get(key) → obj or nil
返回已設置的線程局部變量的值。請注意,這些值與光纖本地值不同。有關光纖本地值,請參閱 Thread#[]
和 Thread#[]=
。
Thread
局部值隨線程一起攜帶,不尊重光纖。例如:
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]
為線程本地返回值“bar”,其中為光纖本地返回 nil。纖程在同一個線程中執行,因此線程局部值可用。
相關用法
- Ruby Thread.thread_variables用法及代碼示例
- Ruby Thread.thread_variable?用法及代碼示例
- Ruby Thread.thr[sym]用法及代碼示例
- Ruby Thread.kill用法及代碼示例
- Ruby Thread.pending_interrupt?用法及代碼示例
- Ruby Thread.report_on_exception用法及代碼示例
- Ruby Thread.group用法及代碼示例
- Ruby Thread.list用法及代碼示例
- Ruby Thread.ignore_deadlock =用法及代碼示例
- Ruby Thread.stop用法及代碼示例
- Ruby Thread.abort_on_exception=用法及代碼示例
- Ruby Thread.stop?用法及代碼示例
- Ruby Thread.new用法及代碼示例
- Ruby Thread.report_on_exception=用法及代碼示例
- Ruby Thread.value用法及代碼示例
- Ruby Thread.run用法及代碼示例
- Ruby Thread.status用法及代碼示例
- Ruby Thread.priority=用法及代碼示例
- Ruby Thread.key?用法及代碼示例
- Ruby Thread.keys用法及代碼示例
- Ruby Thread.alive?用法及代碼示例
- Ruby Thread.priority用法及代碼示例
- Ruby Thread.handle_interrupt用法及代碼示例
- Ruby Thread.raise用法及代碼示例
- Ruby Thread.current用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Thread.thread_variable_get。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。